【李宏毅机器学习笔记】6、简单介绍深度学习(Deep Learning)

 

【李宏毅机器学习笔记】1、回归问题(Regression)

【李宏毅机器学习笔记】2、error产生自哪里?

【李宏毅机器学习笔记】3、gradient descent

【李宏毅机器学习笔记】4、Classification

【李宏毅机器学习笔记】5、Logistic Regression

【李宏毅机器学习笔记】6、简短介绍Deep Learning

【李宏毅机器学习笔记】7、反向传播(Backpropagation)

【李宏毅机器学习笔记】8、Tips for Training DNN

【李宏毅机器学习笔记】9、Convolutional Neural Network(CNN)

【李宏毅机器学习笔记】10、Why deep?(待填坑)

【李宏毅机器学习笔记】11、 Semi-supervised

【李宏毅机器学习笔记】 12、Unsupervised Learning - Linear Methods

【李宏毅机器学习笔记】 13、Unsupervised Learning - Word Embedding(待填坑)

【李宏毅机器学习笔记】 14、Unsupervised Learning - Neighbor Embedding(待填坑)

【李宏毅机器学习笔记】 15、Unsupervised Learning - Auto-encoder(待填坑)

【李宏毅机器学习笔记】 16、Unsupervised Learning - Deep Generative Model(待填坑)

【李宏毅机器学习笔记】 17、迁移学习(Transfer Learning)

【李宏毅机器学习笔记】 18、支持向量机(Support Vector Machine,SVM)

【李宏毅机器学习笔记】 19、Structured Learning - Introduction(待填坑)

【李宏毅机器学习笔记】 20、Structured Learning - Linear Model(待填坑)

【李宏毅机器学习笔记】 21、Structured Learning - Structured SVM(待填坑)

【李宏毅机器学习笔记】 22、Structured Learning - Sequence Labeling(待填坑)

【李宏毅机器学习笔记】 23、循环神经网络(Recurrent Neural Network,RNN)

【李宏毅机器学习笔记】 24、集成学习(Ensemble)

------------------------------------------------------------------------------------------------------

【李宏毅深度强化学习】视频地址:https://www.bilibili.com/video/av10590361?p=13

课件地址:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html

-------------------------------------------------------------------------------------------------------

 开局介绍了点深度学习的历史和现状,总之就是一句话,很火!

之前的课程说机器学习分为三个步骤,深度学习也一样。

Step1:定义一个神经网络模型

 以上篇笔记的例子,很多个Logistic Regression串起来,就形成一个神经网络(Neural Network)。

神经元的不同的连接方式就会形成很多不同的网络。

网络的参数 \theta 代表所有神经元(Neuron)的weight和bias的集合。

那不同的神经元(或者说Logistic Regression)怎么接起来呢?有很多种,比较常见的是Fully Connect Feedforward Network。

Fully Connect Feedforward Network

如图,共有6个神经元。每个神经元都有一个weight和bias。weight和bias是通过training找出来的。

以图中为例子,输入1和-1,经过1*1+(-1)*(-2)+ 1=4,再经过 sigmoid function就得到0.98。

当weight和bias都知道的话,整个network就是一个普通function,输入[1,-1],输出[0.62,0.83] ;输入[0,0],输出[0.51,0.85] 

weight和bias的数值有无穷个,每一组参数代表一个function,所以network就是一个function set(model)。

和刚才的例子类似,所有神经元排成一层一层的样子。

输入的地方就是Input Layer,输出的地方就是Output Layer。中间就统称Hidden Layers。 

Deep就是指有很多层Hidden Layers。

注意:这些深层网络并不是单纯的叠出来的,像ResidualNet,中间是还有用快捷链路这样的特殊组件。

Matrix Operation

Neural Network的运算可以看成是矩阵运算。如上图所示。\sigma ()代表sigmoid函数。 

可以看到,每一层都可以用 这样的方式来计算。

所以,整个网络做的就只是一连串嵌套的 wx+b 的矩阵运算。

把整个网络做成矩阵运算的好处就是:可以调用GPU并行计算来加速运算。

Output Layer

中间Hidden Layers可以看做是一个feature extractor。它做的事情,就类似于上篇笔记讲到的feature engineering做的事情(feature transformation等等),将原本没办法分类的feature转换成能被分类的feature。

所以Output Layer以这些转换后的feature作为输入,经过Softmax函数,就实现 Multi-class Classifier。

手写数字识别的例子

输入图片分辨率为16*16,总共256维。假设有字迹的格子数值为1,否则为0 。

输入256维,输出为10维。10维代表识别为每一个数字的几率。

 这个例子中,知道输入为256维(图片分辨率16*16),输出为10维。

中间Hidden Layers多少层,每一层多少个神经元,这些都没有一个合理的根据去确定,就只能根据你的经验和直觉去设定

(也有自动设定网络架构的方法,比如evolutionary neural networks,这个有兴趣自己找资料了解下)

Step 2:评价一个函数的好坏

估测出的y_1……y_{10}和target值 y_1\hat、……、y_{10}\hat,结合两者就能算出Cross Entropy。

Loss Function就是所有的 Cross Entropy 的和。训练的目的就是找出一组weight和bias,能使Loss Function的值最小化。

更新参数的方法用gradient descent。

step 3:找出最好的函数 

 就是对L求偏微分,然后乘上learning rate,作为更新量。不断重复这个过程。(gradient descent更具体的内容可以看第一篇笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值