首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

春节充电系列:李宏毅2017机器学习课程学习笔记10之卷积神经网络

【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的训练DNN的技巧,这一节将主要针对讨论卷积神经网络。本文内容涉及机器学习中CNN的若干主要问题:图像的特性,卷积,池化,flatten以及CNN在keras中的实现。话不多说,让我们一起学习这些内容吧。

课件网址:

http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html

视频网址:

https://www.bilibili.com/video/av15889450/index_1.html

李宏毅机器学习笔记10卷积神经网络

之前我们介绍了DNN,DNN的网络架构如下图所示,很明显,DNN的参数太多,我们需要想办法简化这个网络。

1. 图像的特性

图像有很多优良特性

DNN的隐藏层的作用是提取特征,但有时候图像的特征可能很小,不需要我们搜索整个图像的像素

一个相同特征可能出现在图像不同的地方

对于图像来说,下采样图像并不会改变图像的特征

根据图像的上述特性,我们设计了卷积神经网络

CNN的不同层对应利用图像的不同特性

2. 卷积

对于卷积操作来说,每次卷积需要滤波器

滤波器的实质是一个矩阵,每次矩阵和图像的某个区域的像素做内积得到某个值。

遍历整个图像就是一个卷积操作。

每个滤波器做相同的操作,多个filter得到的最终集合称为feature map,有几个filter最终就会得到几个image。

对于彩色图像来说的,filter变成3*3*3的立方体。

3. 池化

对于max pooling, 4个一组,取平均或者最大值。

一个filter就是一个channel。

Convolution,max pooling这样的结构能在CNN网络里重复很多次

4. Flatten

最后一步就是拉直(flatten)

5. CNN在keras中的实现

CNN在keras中也很容易表示

注意第二部分的卷积层的参数数目是3*3*25,所以每个滤波器有225参数

最后一步拉直后放入全连接网络层

如果想要了解CNN更多的知识,看以下的推荐网站

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180224G0HQ5N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券