本文为 AI 研习社编译的技术博客,原标题 :
Machines with brains like ours- An intro to Deep Learning
作者 |Mishaal Lakhani
翻译 |Disillusion、刘刘1126
校对 | 酱番梨 整理 | 菠萝妹
https://medium.com/@mishaallakhani/machines-with-brains-like-ours-an-intro-to-deep-learning-a5dff4c24e97
生成星系图像,创作莎士比亚风格的作品,将地震预测时间准确度提高50000%,这些事情有什么共同之处吗?
很意外吧,这些都是由人工智能(AI)完成的。机器正变得越来越聪明,学习能力也越来越强,这使它们有别于以前的机器。实际上,人脑本身就是许多智能技术解决问题的灵感来源,它们通过机器学习,特别是深度学习来解决问题。
机器学习是指让电脑获取数据、理解数据、学习数据,然后做出决策,但是我们并不需要对机器进行明确地编程。深度学习是机器学习的一个子领域,它的灵感来源于人类大脑的神经网络(我们的大脑用来处理信息的构造)。这些神经网络被叫做人工神经网络(ANNs),有时也被叫做神经网络、网络、或者模型。它们由一组被称为节点的单元(或者叫做人工神经元)组成,用来将信息从一个神经元传递到另一个神经元(和人类的大脑一样)。
一个基本的人工智能网络
当一个神经元接收、处理和传递信号给另一个神经元时,这个过程称为传输。这个过程主要包含三层:输入层、隐藏层和输出层。
人工神经网络中的层
让我们以卷积神经网络为例,一个可以用于图像分类的人工神经网络。如果我们想让神经网络区分猫和狗,它会经历这些主要步骤。
输入层
高亮的是进入第一个隐藏层的输入节点
每个节点表示通过模型的样本数据集中的单个特征或变量。这一层的节点连接着下一层(即隐藏层)的所有节点。连接有从0到1的权重,表示连接的强度。我们的狗对猫输入层中的一些节点可能是变量,如耳朵大小、皮毛颜色或尾巴长度。
隐藏层
隐藏层是输入和输出之间的任何层。本质上,它们为指向同一个节点的连接计算加权和。这个总和通过一个激活函数传递(我们将在下面更详细地讨论),该激活函数是基于大脑以及不同的刺激如何激活不同的神经元。激活函数的结果被传递到下一层的下一个节点上,并不断重复,直到输出层。
输出层
权重在上述过程中不断变化,直到被完美优化(下面也有更多关于此的内容)。输出层中产生的神经元表示潜在输出的值。在上述示例神经网络中,输出层中的两个节点是网络认为它是什么的概率,例如,75%可能是狗 vs . 25%可能是猫。
训练一个神经网络
训练人工神经网络基本等同于解决一个优化问题。在这里,它试图优化神经元之间的连接权重。在训练过程中,给定的权重值不断更新,以达到最优值。优化依赖于一种优化算法,其中最常用的是随机梯度下降(一种减少损失的算法)。
基本上,这个问题的目标是最小化损失函数。损失函数测量结果的准确性。例如,在训练一个对猫和狗进行分类的神经网络时,会提供标记数据。比如输入了一个狗的图像,网络输出的概率是77%可能狗 vs. 23%可能猫。我们的目标是让狗的可能性为100%(以确保它是一个狗),并最小化可能出现的错误。
它是如何学习的?
一次数据传递称为一个迭代次数。为了学习,神经网络通过多次迭代传递数据,从而使最初给定的随机权重得以发展。为了改进,以给定的输出和梯度(函数d(loss)/d(weight)的导数)乘以学习率(一个介于0.01和0.001之间的数字)来计算损失。
梯度的值与学习率相乘后会变小。旧的权重会被替换为更新后的值。
要牢记每个权重都有一个不同的损失函数梯度值,因此梯度是根据每个权重单独计算的。随着迭代次数的增加,权值不断更新,越来越接近优化值,损失最小化。这种权重的更新本质上学习,因为分配到每个权重的值基于损失函数的影响。
要点
深度学习是机器学习的一个分支,其灵感来源于我们大脑中的神经网络
在人工神经网络中有三种主要的层次类型(输入、隐藏和输出)
要训练一个人工神经网络,必须更新值以最小化损失函数(输出中有多少错误)
神经网络通过多次数据传递进行学习,并迭代权值直到得到优化值
感谢你的阅读!如果你喜欢这篇文章,请留下一些掌声,关注我的媒体,以及时获知我在AI方面的进展。
领取专属 10元无门槛券
私享最新 技术干货