全文共4854字,预计学习时长10分钟
什么是深度学习?
简单来说,深度学习就是样本研究。
从最基本的概念上看,深度学习就是机器学习的一种方法,教计算机筛选输入的信息,进而对信息进行预测和分类。其观察结果可以通过图片、文字或声音的方式呈现。
深度学习的灵感来源于人脑过滤信息的方式。其初衷是通过模拟人脑运行模式来做些不一样的事情。
![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/06f5bf02d635c58af4e27690eec28661.gif)
这是正儿八经/真实的人工神经网络。
人脑中有大约1亿个神经元。每个神经元都与另外约10万个同类相连,人类现在正试图将类似的工作原理应用到机器上。
人脑中的神经元分为胞体(body),树突(dendrites)和轴突(axon)。神经元发出的信号经由轴突和传送到下一个神经元的树突。这种信号连接被称作神经元突触(synapse)。
单个的神经元其实没多大用。但如果有很多神经元互相合作就能发挥奇效。这就是深度学习算法背后的理念!从观察中获得输入数据,再将输入数据进行筛选。这类筛选产生的输出数据就是下一层筛选的输入数据,这个过程不断进行,直到获得最后的输出信号!
神经元(结点)会收到一个或多个数据(输入值),经神经元继续传播。该神经元传递的信号就是输出信号。
读者可以将输入信号的筛选看作是自己的感官:比如说你看到、闻到或是感觉到的东西。这些是一个信号观察中独立的变量。该信息会被拆分成数字,变成电脑可以读取的二进制数据。最好给这些变量设置统一标准或格式,确保都在同一范围内。
程序员会使用很多非线性处理单位来提取、转换数据特征。每道筛选步骤都会使用上一步的输出数据作为输入数据。其获取的数据所支撑的概念分为三六九等。在这一个等级上,每层都需要学习如何将输入数据转换成更加抽象、内容更丰富的表达形式。
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/1ee30a32f0fd157e457cd28bbf7fdecf.png)
对图片来说,这就意味着输入数据可能是一个像素矩阵。第一层筛选可能为边界加密,并形成一些像素。第二层筛选可能会再加上鼻子眼睛。下一层筛选可能捕捉到图像中有人脸,如此往复。
神经元内部在发生着什么?
输入结点会按数字排序输入信息。该信息表现为激活值,其中每个神经元结点都会被赋予一个数字。数字越大,激活的程度就越深。
根据连接强度(权重)和转换函数,激活值会被传送到下一个结点。每次接收一个激活值,每个结点都会计算激活值的总和(权重总和),再根据转换函数进行编辑。接着,结点会使用激活函数。激活函数是应用于某一特定神经元的。这一步之后,神经元就知道它要不要再继续传播这个信号。
每个神经元突触都会被赋予一定的权重,这一步对人工神经网络(ANNs, Artificial Neural Networks)至关重要。人工神经网络通过调整权重来决定信号传播的程度。程序员在调试自己的网络时,如何调整权重这一决定权就握在自己手里。
整个激活过程贯穿整个网络,直到它突破输出结点。输出结点会以人类可理解的方式给出信息。程序员的设计的网络会使用成本函数对输出值和预计输出值进行对比,并对模型的表现进行评估,表示为真实值和预测值之间的差异。针对各自网络的具体错误,有不同类型的成本函数可供选择。程序员要尽量减少使用损失函数。从本质上讲,损失函数得出的值越低,得到的结果就越接近预期值。获得信息反馈后,神经网络会通过调整权重的方式学习尽可能少使用损失函数的方法。这个过程叫做反向传播。
在前向传播中,信息进入输入层,通过网络传播以获取输出值,将这个值和预期结果进行对比。接着计算错误,再使信息反向传播。这样做既能训练网络,