原文地址:http://suanfazu.com/t/topic/13741

深度学习最近两年在音频分析,视频分析,游戏博弈等问题上取得了巨大的成果。由于微软,谷歌等科技巨头的推动及应用上的可见突破,使得深度学习成为目前学术界和工业界的超热门话题。包括国内很多公司也乐见其成,适时宣布自己的产品或算法也拥抱了深度学习。不过对于具体如何使用,达到了什么效果等问题讳莫如深。

事实上,关于深度学习的大量研究成果在上世纪已经完成,包括卷积神经网络(CNN)、长短时记忆网络(LSTM),多层网络的表达能力等。宣称自己在使用某个算法工具其实并不具备天然的正义性,如何能将工具用好,解决关键场景才是我们应该关心的问题。

为提升对非结构化数据的处理,玻森(bosonnlp.com)4内部也在开展深度学习的讨论。接下来的一段时间,我们将不定期更新深度学习的讨论 notes。

我们不谈情怀,不讨论人工智能是否要统治人类,也不论奇点是否临近。我们就谈点落地的深度学习基础数学理论,及背后的几何直观。世界太大,认知有限,这点上我们遵从维特根斯坦的观点,“凡能够说的,都能够说清楚;凡不能谈论的,就应该保持沉默”。

什么是感知机

人类大脑的神经系统相当复杂,其具体的工作机制至今仍是前沿的生物课题。在1957年时由Cornell大学的学者 Frank Rosenblatt 博士所提出的感知机(Perceptron)模型可以认为是对人类神经系统的一个高度简化概括:

其中w和b作为模型的参数。

Frank Rosenblatt 博士恐怕是史上对人工智能贡献最大的心理学家。他的兴趣不仅停留在从数学上抽象出感知机和提出相应的学习算法,还亲自打造了下面这台被称之为Mark I Perceptron的“实体”感知机,其具备512个隐藏单元哦!

当加权求和输入值时,感知机会与0做对比,以确定自己是否处于激发状态。实际的神经元在人脑中数以百亿计。上式中神经元所输出的状态非0即1,而实际在计算机所建立的模型中,往往将其泛化:

f为激活函数(activation function)。

神经网络可以看做是感知机的一种泛化形式,通过递归嵌套及选择不同的激活函数,我们可以不断将原始数据x进行变换,或特征抽取。

通过对上述式子的嵌套,我们可以构造具有更为复杂表达能力的函数。如两层嵌套形式:

注意到感知机实际上相当于采用Step函数作为激活函数。其他常用的激活函数有Sigmoid, Tanh, ReLU等。其中Sigmoid函数

在早期的神经网络研究文献中被广泛使用。目前对于大多非结构化数据,人们发现分段线性(piece-wise linear)函数

具备更好的鲁棒性,并能够更快收敛。常见的激活函数可以参见下表。

常见的神经网络类型

无环结构:
一层神经元的输出作为下一层神经元的输入,信息总是向前反馈。这一类型的神经网络也叫 Feed-forward Nerual Network。卷积网络(Convolutional Nerual Network)也包括在其中。

有环结构:
一层神经元的输出可以作为当前神经元的输入,即产生了反馈循环(feedback loop)。反馈环表示了神经网络的内部状态,使得网络的输出与之前的输入数据相关。如果把时间维度展开的话,有环结构也相当于随着时间走的无环结构。这一类型的神经网络也叫 Recurrent Neural Network (RNN)。

随机梯度下降

对于给定的网络拓扑结构,具体网络参数的确定其实是一个标准的优化问题。我们通过定义一个损失函数(cost function),来衡量当前神经网络的输出与我们期望的输出之间的距离。

我们构造的 Net(x, w) 以 w 为参数的,x 为输入的网络的输出值。而对 w 参数的寻找,在深度学习中最常用的是随机梯度下降法(Stochastic Gradient Descent)。其基本思想仍然是让变量沿着损失函数在目前参数的尽可能下降的方向进行调整

η 称之为学习率,用以控制修改参数的激进程度。后面的讨论中我们会提到,其实严格按照梯方向更新并无必要,只需要确保更新能够降低损失函数即可。这个观察与Liang Huang etc.在前些年所发表的Structured Perceptron with Inexact Search1可以进行类比。

如果我们能够得到参数 w 的 Hessian 矩阵,可以规避选择的问题,但对于只采用梯度这样一阶信息的优化方法,如何选择学习率,是否能利用某个参数的历史更新信息来估算Hessian矩阵等,都是比较有意思的研究问题。有兴趣的朋友可以参考Schaul etc.的 No More Pesky Learning Rates。

转载于:https://www.cnblogs.com/davidwang456/articles/5606999.html

当我们在谈深度学习时,到底在谈论什么(一)--转相关推荐

  1. 当我们在谈深度学习时,到底在谈论什么(三)--转

    原文:http://suanfazu.com/t/topic/13744 正则化 相信对机器学习有一定了解的朋友对正则化(Regularization)这个概念都不会陌生.可以这么说,机器学习中被讨论 ...

  2. 当我们谈深度学习时,我们用它落地了什么?

    摘要: 近日,阿里云在深度学习方面动作频频,先后发布了OCR证件识别,声纹检测,人脸搜索,视频鉴黄服务以及相似图片搜索功能,下面小编就一一为大家介绍五大功能应用. 现今伴随人工智能在技术上的不断突破, ...

  3. 当我们谈深度学习时,我们用它落地了什么?阿里云内容安全功能全新升级

    现今伴随人工智能在技术上的不断突破,一些领域如计算机视觉,已开始与各个行业进行了深度融合.例如保险行业已通过人脸识别这种新时代的认证方式,来对用户身份信息进行识别与审核.深度学习对人工智能的发展起着至 ...

  4. 当我们在谈深度学习时,到底在谈论什么(二)--转

    原文地址:http://suanfazu.com/t/topic/13742 上一次的分享我们提到了神经网络的几个基本概念,其中提到了随机梯度下降(SGD)算法是神经网络学习(或者更通用的,一般性参数 ...

  5. 浅谈深度学习:LSTM对股票的收益进行预测(Sequential 序贯模型,Keras实现)

    浅谈深度学习:LSTM对股票的收益进行预测(Sequential 序贯模型,Keras实现) 总包含文章: 一个完整的机器学习模型的流程 浅谈深度学习:了解RNN和构建并预测 浅谈深度学习:基于对LS ...

  6. 浅谈深度学习:基于对LSTM项目`LSTM Neural Network for Time Series Prediction`的理解与回顾

    浅谈深度学习:基于对LSTM项目LSTM Neural Network for Time Series Prediction的理解与回顾#### 总包含文章: 一个完整的机器学习模型的流程 浅谈深度学 ...

  7. 嵌入式AI —— 6. 为糖葫芦加糖,浅谈深度学习中的数据增广

    没有读过本系列前几期文章的朋友,需要先回顾下已发表的文章: 开篇大吉 集成AI模块到系统中 模型的部署 CMSIS-NN介绍 从穿糖葫芦到织深度神经网络 又和大家见面了,上次本程序猿介绍了CMSIS- ...

  8. 周志华:浅谈深度学习

    我们都知道直接掀起人工智能热潮的最重要的技术之一,就是深度学习技术.今天,其实深度学习已经有各种各样的应用,到处都是它,不管图像也好,视频也好,声音自然语言处理等等.那么我们问一个问题,什么是深度学习 ...

  9. 浅谈深度学习的基础——神经网络算法(科普)

    浅谈深度学习的基础--神经网络算法(科普) 神经网络算法是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助 ...

最新文章

  1. 【物联网智能网关-15】WAV播放器(WinForm+WavPlay库实例)
  2. 【OpenCV的C++教程2】加载、修改、保存图像
  3. hdu 3183 st表
  4. nginx 学习笔记(1) nginx安装
  5. 软件工程实训有必要吗_软件工程实训报告的总结.docx
  6. gg参数:dblogreader
  7. System.InvalidOperationException : 不应有 Response xmlns=''。
  8. python traceback对象_Python traceback【转】
  9. 要做PPT,一直找不到资源?
  10. 看明星合影争C位,学PPT中C位排版法
  11. cas 4.0 mysql 验证_在Ja-sig CAS中使用MySQL数据库进行身份验证
  12. 基于WebGIS的车联网平台的研究与应用
  13. ANSYS CFD网格划分笔记1
  14. IDEA 数据库可视化配置
  15. 互联网晚报 | 12月25日 星期六 | 小米首款自研充电芯片澎湃P1官宣;抖音电商启动“冬季山货节”;全国首批“千兆城市”出炉...
  16. 九宫格摆法_九宫格婚纱照摆法图片与技巧
  17. ‘xxxx’ does not name a type报错处理方法
  18. 04 - Linux的用户与组文件
  19. zookeeper四字监控命令
  20. 7-1 评委打分 (5分)

热门文章

  1. c c 语言程序设计同步,第一部分C语言程序设计C语言程序设计同步练习答案.PDF...
  2. java collections.sort 忽略大小写排序_Java Spring Mongo排序忽略大小写问题
  3. 介绍理想工作计算机 英语作文,我的理想工作英语作文(精选5篇)
  4. java oss 断点上传文件_java实现oss断点续传
  5. 计算机未来的储存装置,图说计算机存储设备
  6. 用事件标志组实现多事件的单向同步
  7. iis占用服务器内存,W3wp.exe 进程占用内存高消耗CPU近100%导致网站反应速度缓慢的解决方案...
  8. android表格自动刷新,Android SwipeRefreshLayout 自动刷新
  9. python 数组基本用法
  10. java无法实例化类型_java – 无法实例化泛型中的类型