距离上次写博客已经好久好久好久了,真是懈怠的生活节奏,整天混吃等死玩游戏,前些日子做毕业设计时总算又学了点新东西。学了一点深度学习和卷积神经网络的知识,附带着详细学习了一下前段时间我觉得比较有意思的图像风格转换。毕竟是初学,顺便把神经网络方面的知识也写在前面了,便于理解。若有不对的地方的话,希望指正。
主要参考的文献有《A Neural Algorithm of Artistic Style》和《Perceptual Losses for Real-Time Style Transfer and Super-Resolution》这两篇论文,以及深度学习实践:使用Tensorflow实现快速风格迁移等文章,代码参考了
输入神经元与其各自权重相乘再相加得到z,利用激活函数g(z)进行变换得到神经元y。输入层神经元与其权重相乘再相加的过程可以用矩阵相乘相乘来表示,这点在下面的卷及神经网络里可以看到。神经网络里输入层和输出层中间的是隐藏层。
在卷积神经网络里,网络结构一般是由多个卷积层、非线性化层、池化层以及最后的全连接层组成。卷积层对输入进行卷积计算,得到的结果经过非线性化层的激活函数,再经过池化层进行采样,最后是全连接层。
先介绍卷积操作。假设输入图片是二维矩阵,每个像素值都是输入层的一个神经元,权值也用矩阵来表示,这个权值矩阵叫做卷积核,也可以成为滤波器,卷积核代表了你看这个图像时的感受野。不过卷积核是与输入图片的二维矩阵滑动计算的,这里涉及到了权值共享的问题。计算的过程如下图所示。