深度学习(Deep Learning)是机器学习(Machine Learning)领域中一个新的研究方向,引领了第三次人工智能的浪潮。

本文整理了深度学习领域3种典型的算法,希望可以帮助大家更好地理解深度学习这门极具深度的学科。

1.卷积神经网络(CNN)

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习的代表算法之一。

卷积神经网络仿造生物的视知觉(Visual Perception)机制构建,可以进行监督学习和非监督学习。

典型的CNN由3个部分组成——卷积层、池化层、全连接层。

CNN的代价函数 cnn的算法_算法


其中,卷积层负责提取图像中的局部特征;池化层用来大幅降低参数量级(降维);全连接层类似传统神经网络的部分,用来输出想要的结果。

CNN在图像处理方面十分有优势,目前在图像分类检索、目标定位检测、目标分割、人脸识别、骨骼识别等领域有着广泛的应用。

2.循环神经网络(RNN)

循环神经网络(Recurrent Neural Network, RNN)是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。

循环神经网络具有记忆性、参数共享并且图灵完备(Turing Completeness),因此在对序列的非线性特征进行学习时具有一定优势。

在深度学习领域,RNN是一种能有效处理序列数据的算法。在文本生成、语音识别、机器翻译、生成图像描述、视频标记等领域有着广泛的应用。

CNN的代价函数 cnn的算法_算法_02

# 3.生成对抗网络(GAN)

生成对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是最近两年十分热门的一种无监督学习算法。

生成对抗网络(GAN)由两个重要部分构成:

1.生成器(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器;

2.判别器(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据”。

CNN的代价函数 cnn的算法_CNN的代价函数_03


GAN具有如下3个优势:

1.能更好建模数据分布(图像更锐利、清晰);

2.理论上,GAN能训练任何一种生成器网络;

3.无需利用马尔科夫链反复采样,也无需在学习过程中进行推断。

但也有2个缺陷:

1.难训练,不稳定,生成器和判别器之间需要很好的同步。

2.模式缺失问题。GAN的学习过程可能出现模式缺失,生成器开始退化,总是生成同样的样本点,无法继续学习。

GAN可以生成出非常逼真的照片、图像甚至视频,在生成图像数据集、生成人脸照片、图像到图像的转换、文字到图像的转换、图片编辑、图片修复等诸多领域有着广泛的应用。