| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Task 6 李宏毅机器学习——卷积神经网络 -> 正文阅读 |
|
[人工智能]Task 6 李宏毅机器学习——卷积神经网络 |
CNN(卷积神经网络)常被用在影像处理上,可以简化网络的架构 输入是一张用像素表示出来的图片 使用CNN处理图像识别的原因 1.一个特征对于整个图像来说可能很小,因此只要看图片的一部分即可 2.同样的特征可能出现在图片的不同部分,因为他们想实现的功能都相同,因此可以使用相同的参数,尽管是识别在不同位置上的特征(pattern) 3.对图片进行下采样(subsample)不会改变辨识的对象,而能使图片变小,可减少使用的参数 CNN的整体架构 input--convolution--max pooling--convolution--max pooling (可重复数次,重复几次需事先决定)--flatten--将flatten的输出扔到fully connected feedforward network中--最终得到影像辨识的结果 1、2特点可用convolution来解决 第3个特点可以用max pooling来解决 Convolution 卷积层 假设有一个6*6像素的filter,和一个3*3的filter,filter里的参数是由机器学习出来的,不是人为设定的 先将filter放在左上角,计算出filter中的9个值和image左上角9个值的内积,图中filter在左上角时计算出的结果是3 将filter挪动一定的距离,挪动的距离是自己设的,距离叫stride convolution后变成4*4的矩阵,做的工作就是侦测有没有某一个pattern(filter1要找的pattern就是左上到右下三个格子都是1的这种) 都使用filter1就可以侦测出来,不用使用多个filter,如特点2所述。 用filter2重复上述步骤,红色和蓝色合起来就是feature map 彩色的图像由RGB组成,是由多个矩阵堆叠组成,3原色表示一个像素(一个像素由由3个值组成) Convolution 与 fully connected 的区别 Convolution 就是 fully connected 拿掉一些weight的结果 一共有36个input,只有其中9个连接到了filter1,filter只有9个weight,因为要侦测一个pattern只要看其中9个就够了,不用看全部的36个 Filter1和filter2有shared weight,因此需要的参数就更少 Max pooling 由filter1 得到一个4*4的矩阵,分成4个部分, 由filter2 得到一个4*4的矩阵,分成4个部分, 每个部分可采用取最大值、取平均等方法,将每一部分用一个数表示 上图,留下每个部分的最大值 做完一次conv+一次max? pooling将将原来的6*6的图像,变成了新的比较小的2*2的图像 Keras实操 参数解释 Flatten 就是feature map拉直以后扔到 fully connected feedforward netword 进行训练 如歌分析理解第二次的conv+max polling 1、取出第k个filter 经过第二次conv后输出的一个11*11的矩阵 ????? 其中的每一个元素就用a上标k,下标ij表示 2、定义一个值,第k个filter有多被activate(现在的输入和第K个filter有多匹配) 每个filter考虑的都是图上一个小小的范围,如果图上所有部分都出现斜条纹,如第三个filter ,那第三个filter的degree of? the activation最大 flatten后,每个neuron的工作是看整张图,侦测的是比较大的pattern 现在的neuron network训练出来的东西可能和人类认知不一样 让图更像数字 对x做出限制,告诉机器有些x能使y很大,但不是数字 假设图像中的每个像素都用xij来表示,我们希望在找一个x可以使yi最大的同时,同时要使Σ|xij|最小(这能使空白区域尽可能多,与尝试相同) Deep style 输入一张图,使机器去修改这张图,使这张图有另一张图的风格 做法的精神: 将原来的图像丢给cnn,得到cnn的filter的output,cnn的filter的output代表这张图中有什么内容,再将要模仿风格的照片(如:呐喊)也丢到cnn中得到filter的output,得到filter的output,但并不是要关注output的绝对值,而是关注filter之间的correlation,这代表了这张图的风格, 用同一个cnn找一个图片,这个图片的内容像左边的图片,风格像右边的图片(风格像指的是输出的filter之间的correlation), 即找一张图能maximize左边的content和右边的style 什么时候使用cnn 当具有开头所说的3个特性的时候,使用cnn效果更好 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:35:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |