人工智能基础概念

人工智能 机器学习 深度学习区别

特征提取

  • 机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识
  • 深度学习通常由多个层组成,它们通常将更简单的模型组合在一起,将数据从一层传递到另一层来构建更复杂的模型。通过训练大量数据自动得出模型,不需要人工特征提取环节

数据量和计算性能

  • 机器学习需要的执行时间远少于深度学习

  • 深度学习需要大量的训练数据集,训练深度神经网络需要大量的算力

算法代表

  • 机器学习 : 朴素贝叶斯、决策树等
  • 深度学习 : 神经网络

常用深度学习框架比较

  • TensorFlow点评:不完美但最流行的深度学习框架,社区强大,适合生产环境。
  • Keras点评:入门最简单,但是不够灵活,使用受限。
  • Caffe/Caffe2点评:文档不够完善,但性能优异,几乎全平台支持(Caffe2),如移动平台等受计算性能限制的平台,适合生产环境
  • MXNet点评:文档略混乱,但分布式性能强大,语言支持最多,适合AWS云平台使用。
  • CNTK点评:社区不够活跃,但是性能突出,擅长语音方面的相关研究。
  • PyTorch点评:有利于研究人员、爱好者、小规模项目等快速搞出原型。而TensorFlow更适合大规模部署,特别是需要跨平台和嵌入式部署时。

神经网络

  • 常用于影像数据进行分析处理的卷积神经网络(简称CNN)
  • 文本分析或自然语言处理的递归神经网络(简称RNN)
  • 常用于数据生成或非监督式学习应用的生成对抗网络(简称GAN)

CNN RNN GAN应用最广

CNN(卷积神经)

卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。

卷积神经网络由三部分构成。第一部分是输入层。第二部分由n个卷积层和池化层的组合组成。第三部分由一个全连结的多层感知机分类器构成。

RNN(循环神经)

传统的神经网络对于很多问题难以处理,比如你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,RNN能够对任何长度的序列数据进行处理。

DBN(深度置信)

深度置信网络是概率统计学与机器学习和神经网络的融合,由多个带有数值的层组成,其中层之间存在关系,而数值之间没有。深层置信网络主要目标是帮助系统将数据分类到不同的类别。

GAN(生成对抗)

  • 生成对抗网络(GAN)是生成模型的一种神经网络架构。生成模型指在现存样本的基础上,使用模型来生成新案例,比如,基于现存的照片集生成一组与其相似却有细微差异的新照片。
  • GAN是使用两个神经网络模型训练而成的一种生成模型。其中一个称为“生成器”或“生成网络”模型,可学习生成新的可用案例。另一个称为“判别器”或“判别网络”,可学习判别生成的案例与实际案例。

LSTM(长短期记忆 )

LSTM可以像人的记忆中选择性地记住一些时间间隔更久远的信息,它会根据组成元素的特性,来判断不同信息是被遗忘或被记住继续传递下去。
LSTM就是实现长期记忆用的,实现任意长度的记忆。要求模型具备对信息价值的判断能力,结合自身确定哪些信息应该保存,哪些信息该舍弃,还要能决定哪一部分记忆需要立刻使用。

常用神经网络模型(方法)

MoblieNet(分类网络)

MobileNet是谷歌发布的第一代专为移动端设计的高效网络。

MnasNet(分类网络)

MnasNet同样是谷歌发布的高效移动端分类网络,与Mobilenet不同之处在于网络的设计借助deepmind AI的能力,不是hand craft手动设计的网络,相比于mobilenet,速度快大约1.5倍,准确度提高将近两个点。

MTCNN(单一物体检测网络)

MTCNN是一个非常优秀的单一物体检测框架,可以用这个框架进行人脸、车辆、行人等单一物体的检测,该网络的主要问题在于单帧图像中包含多个物体时,检测速度下降严重。

MobileNet-SSD(Single Shot 物体检测网络)

SSD是Single Shot检测网络的代表结构,其速度快,单帧物体数量对检测速度影响不大,具有很好的工程化指导作用。Mobilenet跟SSD的结合,更能够提高网络的速度。

insightface(人脸识别网络)

insightface是一款高精度的开源人脸识别框架,在我们的测试中,insightface针对一般场景效果不错,“历史脸”效果稍差,有可能因为训练数据历史脸数据不足导致的。

VanillaCNN(人脸关键点回归网络)

VanillaCNN是针对香港中文大学人脸关键点定位网络TCDCN的一个复现,大家可以参考 https://github.com/ishay2b/VanillaCNN 。稠密人脸关键点定位(通常关键点50点以上)同样是一个回归问题,让网络能够通过对人脸边缘特征的提取,回归出准确的定位,这篇文章采用了多任务进行定位,取得了很好的效果,后来几年的的很多算法,在准确度上有提升,但是在速度上不具有优势。

YOLO(通用物体检测网络)

You Only Look Once”或“YOLO”是一个对象检测算法的名字,这是Redmon等人在2016年的一篇研究论文中命名的。

DeepOCR(文字识别网络)

DeepOCR这里我们泛指利用深度学习进行文字识别的方法,目前网上开源的算法较好的有 https://github.com/YCG09/chinese_ocr 以及 https://github.com/chineseocr/chineseocr

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×