上午没有学习,吃成一只猪。
1.有了几个名词概念的基础,开始了啊Deep Learning的简短介绍:
第一张图:随着时间的推移,Deep Learning的应用暴涨
2.今天天津已经热到了40度,热到头疼,烦躁,厌烦,不开心!
3.介绍了一下Deep Learning这些年的反反复复的发展,从开始的只对光敏感,到hidden layer的层数,一个隐藏层可以代表任意的函数,到initialization,发现RBM intialization并不是真正的突破,起到的效果很有限,所以现在没了,我觉得有个关键的突破,就是2009年时,知道用GPU进行突破了,
一:Deep learning 的三个Step
1.step 1 :define a set of function
1.1 function 就是一个neural network,不同的netural用不同的方法连接起来,构成不同的网络结构
举个连接方法的例子:你经常见到的全连接Fully Connect Feedforward Network层;
全连接层就是这个意思:六个netural排成两排,每个netural都有train出来的两个weights和一个bias,假设输入是1,-1,通过Sigmoid Function之后得到的结果就是0.98和0.12,再依次通过粉色的netural和绿色的netural得到0.62和0.83.给不同的netural设置不同的weights和bias就会变成不同的,不同的function define a function set,比较大
1.2 相邻层之间的神经元两两之间都有连接,所以称为是全连接层
注意:给定了网络结构并给定了参数,网络就是一个函数:输入输出都是向量。
1.3 深度学习的深度指的是包含很多隐藏层的网络。你常见的那几个网络
1.4用Matrix Operation来表示netural的运作,怎么个意思呢:就是:假如用蓝色的两个netural的weights排成一个Matrix ,然后和输入加bias做矩阵乘法运算(Wx+b)得到一个矩阵,就是结果蓝色netural的output【4 -2】,假设是logistic Regression问题,用 Sigmoid Function之后得到的结果就是0.98和0.12
1.5 一层一层的算下去,就是一连串的Matrix Operation,这样弄的好处 ,可以用GPU加速
1.6 output layer就是一个Multi-class Classifier
在这一层通过的时softmax分类器,
1.7 手写数字问题里:
所使用的神经网络的输入是256维,输出是10维,之间的hidden layer层数时没有限定的,到底有多少个,决定了你用的什么function set。
自己接每一层,就变成CNN了。
- step 2:goodness of function :定义一个function的好坏,
2.1还是举手写数字辨识的例子:
还是256维的输入,nerual network,output(softmax):10维的输出,target只有两种0或者1,算一下cross Entropy,调整network的参数,让cross Entropy 越小越好
step 3 :pick the best function
3.1 把多组数据,crossEntropy,算出来Total Loss,从function set 里找到一个funtion 来最小化L,再找到最小化的参数,下面就涉及怎么找到@和minimizes total loss L,用的方法就是Gradident Descent。
3.2
也就是说,先给一组数据的初始随机参数,然后算偏微分,然后更新参数,怎么更新呢,就是减掉一个学习率偏微分的值,得到一组新的参数,反复继续下去,不断更新,
3.3一个很有效的算微分的方式:Backpropagation
现在借助工具算微分越来越简单,导致都不会算微分了。
3.4最后时作者的观点:越Deep越好嘛?
其实参数越多,bias就是越好,loss越小很正常。
但是一个hidden layer 的netural 只要够多,就可以表示成任何的function,所以deep意义很大嘛,越fat越好嘛?走着瞧吧您!!!