跳到主要内容

GAN

pytorch 实现 GAN——代码和原理详解_QinZheng7575 的博客-CSDN 博客_gan pytorch

动态神经网络

【深度】动态神经网络综述 - 知乎 (zhihu.com)

PhyDNet

(6 条消息) PhyDNet:Disentangling Physical Dynamics from Unknown Factors for Unsupervised Video Prediction_七价铬的博客-CSDN 博客

GA in GAN(使用遗传算法对 GAN 网络进行优化)

遗传算法是根据大自然中生物体进化规律而设计提出的,是一种通过模拟自然进化过程搜索最优解的方法。

遗传算法概述

遗传算法是一种学习算法,它利用交叉两个好的神经网络的权值的思想,从而得到一个更好的神经网络。

遗传算法允许有极端变化的结果的可能性,他们通常会提出非常有趣的解决方案,这些方案通常会对问题提供有价值的见解。

工作原理

生成一组随机权重。这是第一个代理的神经网络。在代理上执行了一组测试。代理会根据测试获得分数。

重复几次以创建种群。选择种群的前 10% 进行交叉。从最高的 10% 中选择两个随机的父母,他们的权重是交叉的。每次发生交叉时,发生突变的可能性都很小:这是一个随机值,不会受到父母的影响。

这个过程会慢慢优化代理的性能,因为代理会慢慢地适应环境。

优点

  • 计算不密集:没有线性代数计算要完成。唯一必要的机器学习计算是通过神经网络的正向传递。
  • 适应性强:可以改编并插入许多不同的测试和方法来操纵遗传算法的灵活性。可以通过使代理传播生成器网络并使用鉴别器作为测试,在遗传算法内创建 GAN。
  • 可解释的:对于普通的神经网络,该算法的学习模式是不可解释的。对于遗传算法,很容易理解为什么会发生某些事情:例如,当给遗传算法提供 Tic-Tac-Toe 环境时,某些可识别的策略就会慢慢发展。这是一个很大的好处,因为使用机器学习就是使用技术来帮助我们了解重要事项。

缺点

可能需要很长时间:某些交叉和变异可能会对程序的准确性造成负面影响,从而使程序收敛或达到某个损失阈值的速度变慢。

代码

[利用遗传算法优化 GANs](https://zhuanlan.zhihu.com/p/335962072#:~:text=GANs是在训练阶段最需要计算的密集型模型之一,因为它相当于同时训练两个神经网络。 对于我的普通电脑来说,把gan训练到收敛是非常困难的。,遗传算法是根据大自然中生物体进化规律而设计提出的,是根据大自然中生物体进化规律而设计提出的。 是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。)