深度学习(Deep Learning)是机器学习(Machine Learning)领域中一个新的研究方向,引领了第三次人工智能的浪潮。
本文整理了深度学习领域3种典型的算法,希望可以帮助大家更好地理解深度学习这门极具深度的学科。
1.卷积神经网络(CNN)
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习的代表算法之一。
卷积神经网络仿造生物的视知觉(Visual Perception)机制构建,可以进行监督学习和非监督学习。
典型的CNN由3个部分组成——卷积层、池化层、全连接层。
其中,卷积层负责提取图像中的局部特征;池化层用来大幅降低参数量级(降维);全连接层类似传统神经网络的部分,用来输出想要的结果。
CNN在图像处理方面十分有优势,目前在图像分类检索、目标定位检测、目标分割、人脸识别、骨骼识别等领域有着广泛的应用。
2.循环神经网络(RNN)
循环神经网络(Recurrent Neural Network, RNN)是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。
循环神经网络具有记忆性、参数共享并且图灵完备(Turing Completeness),因此在对序列的非线性特征进行学习时具有一定优势。
在深度学习领域,RNN是一种能有效处理序列数据的算法。在文本生成、语音识别、机器翻译、生成图像描述、视频标记等领域有着广泛的应用。
# 3.生成对抗网络(GAN)
生成对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是最近两年十分热门的一种无监督学习算法。
生成对抗网络(GAN)由两个重要部分构成:
1.生成器(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器;
2.判别器(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据”。
GAN具有如下3个优势:
1.能更好建模数据分布(图像更锐利、清晰);
2.理论上,GAN能训练任何一种生成器网络;
3.无需利用马尔科夫链反复采样,也无需在学习过程中进行推断。
但也有2个缺陷:
1.难训练,不稳定,生成器和判别器之间需要很好的同步。
2.模式缺失问题。GAN的学习过程可能出现模式缺失,生成器开始退化,总是生成同样的样本点,无法继续学习。
GAN可以生成出非常逼真的照片、图像甚至视频,在生成图像数据集、生成人脸照片、图像到图像的转换、文字到图像的转换、图片编辑、图片修复等诸多领域有着广泛的应用。