一文看懂深度学习,深度学习算法( 五 )


每一个神经元都为它的输入分配权重 , 这个权重的正确与否与其执行的任务直接相关 。最终的输出由这些权重加权决定 。我们仍以停止(Stop)标志牌为例 。将一个停止标志牌图像的所有元素都打碎 , 然后用神经元进行“检查”:八边形的外形、救火车一样的红颜色、鲜明的字母、交通标志的典型尺寸和静止不动运动特性等等 。神经网络的任务就是给出结论 , 它到底是不是一个停止标志牌 。
神经网络会根据所有权重 , 给出一个经过深思熟虑的猜测——“概率向量” 。这个例子里 , 系统可能会给出这样的结果:86%可能是一个停止标志牌;7%的可能是一个限速标志牌;5%的可能是一个风筝挂在树上等等 。然后网络结构告知神经网络 , 它的结论是否正确 。此前 , 这样的神经网络并没得到为人工智能圈的认可 。然而 , 事实上在人工智能出现的早期 , 神经网络就已经存在了 , 只是神经网络对于“智能”的贡献微乎其微 。
其主要原因是因为即使是最基本的神经网络 , 也需要大量的运算 。神经网络算法的运算需求难以得到满足 。不过 , 还是有一些虔诚的研究团队(例如:多伦多大学的Geoffrey Hinton)坚持研究 , 实现了以超算为目标的并行算法的运行与概念证明 。但也直到GPU得到广泛应用 , 这些努力才见到成效 。我们回过头来看这个停止标志识别的例子 。
神经网络是调制、训练出来的 , 时不时还是很容易出错的 。它最需要的 , 就是训练 。需要成百上千甚至几百万张图像来训练 , 直到神经元的输入的权值都被调制得十分精确 , 无论是否是雾天、晴天还是雨天 , 每次都能得到正确的结果 。只有这个时候 , 我们才可以说神经网络成功地自学习到一个停止标志的样子;或者在Facebook的应用里 , 神经网络学习了如何识别你妈妈的脸;又或者是2012年吴恩达(Andrew Ng)教授在Google实现了神经网络学习到猫的样子等等 。
吴恩达教授的突破在于 , 把这些神经网络从基础上显著地增大了 。层数非常多 , 神经元也非常多 , 然后给系统输入海量的数据 , 来训练网络 。在他的示例中 , 数据是一千万YouTube视频中的图像 。吴教授为深度学习(deep learning)加入了“深度”(deep) 。这里的“深度”所指的 , 正是神经网络中众多的层 。现在 , 经过深度学习训练的图像识别 , 在一些场景中甚至可以比人做得更好:从识别猫 , 到辨别血液中癌症的早期成分 , 再到识别核磁共振成像中的肿瘤 。
Google的AlphaGo先是学会了如何下围棋 , 然后与它自己下棋训练 。它训练自己神经网络的方法 , 就是不断地与自己下棋 , 反复地下 , 永不停歇 。深度学习 , 给人工智能以璀璨的未来深度学习使得机器学习能够实现众多的应用 , 并拓展了人工智能的领域范围 。如今 , 深度学习已经能够实现各种任务 , 几乎使得所有的机器辅助功能都变为可能 。
机器学习和深度学习的算法岗是不是过饱和了?是不是该转开发去了?
今年从事算法设计岗位的毕业生在就业过程中经历了更多的考验 , 原因是整个行业对于算法岗位的要求也在不断提高 , 单纯的掌握基本算法设计的毕业生感受到了较为明显的就业压力 。但是就此说明算法设计岗位饱和还为时过早 , 因为目前市场上依然有不少算法岗位的需求 。从行业结构来说 , 目前算法设计岗位应该还有较大的发展空间 , 原因是在产业互联网发展阶段 , 尤其是发展的初期 , 针对大量传统行业的应用 , 算法设计依然是一个有较多需求的岗位 , 所以说算法设计岗位还没有达到饱和的阶段 。

推荐阅读