GAN网络为对抗网络。或者说这是一个相互依存的网络。就像生态环境中的狼和兔子的关系一样,此消彼长。在不断的对抗中,不断的提高了自己的能力。再举一个例子:我们在一年级的时候画的一幅图交给老师,老师说你画的很不像样。然后我们努力学习,终于画出了一年级学生该画成的样子。可是我们已经进入了二年级了,于是老师又说我们画的不想二年级应该画出来的样子,于是我们又开始努力学习,努力画到二年级的样子,到时候我们又到了3年级......就是这样一个不断的过程。最后,肯定会有一天我们的能力回达到我们老师也无法在说我们的不好了, 最后我们的分数就会足够的高。多么激励人的一个故事。
GAN网络也叫做图片生成器,它几乎可以生成任何图形,只要有足够的原始照片。与G共生的还有一个Discrimator(一下简称D),两者相互配合才组成了我们的对抗网络。
过程是这样的:
第一步现将现实生活中存在的真实image喂给我们的网络。在这里,现将G内部的参数固定不变,让向量经过了G之后,得到一张随机生成的图片,然后再将生成的图片喂给我们的D,而D有个功能可以将图片与现实中的图片进行对比,然后给已经生成的图片打分。规则是:与真实图片越相似的得分就越高。这样就会获得一个损失,最后将这个误差反馈回去。于是G就又生成一张图片,再经过刚才所经过的路径,经过D继续打分,直到最后打的分数足够好了之后,这里也就将D内部的参数给更新好了,并生成了一套比较好的打分机制。
接下来的第二步就是开始训练G了,还是跟上面一样,经过G之后会生成一张图片,再将此图片喂给我们的D,将有D给我们的图片进行打分,只有分数足够高,才能说明我们的图片生成的比较成功。
但是我们的GAN网络不只是用来生成图片的。还可以用来生成符合我么要求的一些向量或者矩阵,最后转换成我们所需要的结果。比如说,声音,视频,文字等。
还需要我们注意的是我们的G相当于我们的学生,而我们的D相当于我们的老师。老师在学习过程中掌控着我们的大局的人,有着更为广泛的视野,学生则主要负责网络中的细节部分。现在的GAN网络有了很大的进步,有很多人对网络进行了各种各样的变种。
到今天为止,似乎就将这些年出现的这些基础的网络给了解完了。自己也只能是了解,还不能达到那种可以用来编程的地步,希望自己逐步加深对于深度学习的认识。听了昨晚的讲座,发现了自己的基础知识真的是差得很,虽然自己是工科出生,对于数学知识的掌握还是很欠缺。可是自己之前从来没有怀疑过自己的数学能力,还得花点时间来复习自己的数学知识。明天就要开始学习及其学习相关的知识。机器学习虽然不是进入深度学习的一个必须的能力,可是在学校面试的时候,能考到我们的更多的是对于机器学习知识的掌握,我们不可能所有问题都需要利用深度学习来解决。
本人是今年的一个小硕士。