首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

机器学习相关的本科毕设遇到了一些问题,希望大佬解答

  •  
  •   xjtu001 · 191 天前 · 1644 次点击
    这是一个创建于 191 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人本科不是计算机方向,但是研究生转到了这方面,就在学院里面选了一个机器学习相关的毕设项目。基本内容就是以离子电流信号作为输入,用 pytorch 搭建神经网络预测燃烧压力,当然这些都不重要。然后我们选了三种,一个隐藏层的 ANN,三个隐藏层的 DNN,然后就是 RNN。因为我自己水平有限,python 和 ptorch 全是现学现卖,基本就是跟着一个研究生学长,他写代码我学习,然后稍微修改交给他运行。最开始的时候,可能是 ANN 代码出现了问题,然后出现了偏差较大的结果。
    然后学长把 ANN 和 DNN 全部修改之后,把结果给我,我发现 DNN 效果还不如 ANN,就很懵逼 。问他他说可能是激活函数饱和了,说实话不太懂。然后他现在也没太多时间修改,调试,就让我用最开始错误的 ANN 结果,这样就能形成 ANN,DNN,RNN 效果越来越好的结果。但是现在很懵,还是想解决一下这个问题。
    不知道有没有大佬帮忙看一下代码,有哪里有问题,呜呜呜。
    代码地址: https://github.com/xjtu-cs-gao/pytorch_models
    14 回复  |  直到 2019-05-08 17:31:07 +08:00
        1
    xjtu001   191 天前
    第一次用 github 上传东西,不知道能不能打开哦
        2
    xjtu001   191 天前
    v2ex 竟然不能发图,有点懵,没法上传效果图
        3
    ivechan   191 天前   ♥ 3
    ANN 和 DNN 这个概念先纠正一下。
    ANN 应该是 artificial neural network,是比较广泛的概念,包含了 DNN。
    DNN 是 deep neural network,有时候也称为 MLP,一般与 CNN, RNN 做区分。

    你这里应该是三层网络( DNN )和单层网络(你说的 ANN )对比,
    建议你把 DNN 中的 dropout 和 BatchNorm 先去掉,特别是 dropout ( 0.5 )可能太激进了。
    另外注意下 Loss 曲线,三层比一层差可能有两个原因:
    1. 过拟合,少训练一点时间就可以解决
    2. 未拟合,建议增加时间,或者增加数据集。
        4
    xychang   191 天前 via Android
    你数据量多大啊?最后模型取的是第几个 epoch 的结果?
        5
    xjtu001   191 天前 via Android
    @ivechan 好的,谢谢老哥,我试一下
        6
    ipwx   191 天前
    无脑上 BN 和 Dropout 的都是猛士。
        7
    xjtu001   191 天前 via Android
    @xychang 300 个 epoch 十几个工况,每一个工况有 67 样本
        8
    xjtu001   191 天前 via Android
    @ipwx emm。也不是我写的代码,这个东西具体做什么我都不知道
        9
    loryyang   191 天前
    你的好和差到底是多少?至少要看到你的模型是欠拟合还是过拟合了,还是压根没有 work,然后相应地做调整
        10
    xjtu001   191 天前 via Android
    @loryyang github 上有个对比图
        11
    longbye0   191 天前
    只看了下你写的 mlp。
    同#3,去掉 bn 和 dropout。
    看你输入输出应该是 721 维向量,自己度量下输入向量的相关性,判断下隐藏层该取小于 721 还是大于。
    取一个完整工况不做训练,来验证。
        12
    usingnamespace   191 天前 via iPhone
    还好有人纠正了你的概念。。。
        13
    jackOne   191 天前
    建议看下你模型训练过程中的训练损失曲线以及验证损失曲线,看模型是否 work 或者是过拟合
        14
    xwhxbg   190 天前
    @ivechan 学习了,我一直以为 DNN 是 dense,RNN 是 recurrent,CNN 是 convolution
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3012 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 10:52 · PVG 18:52 · LAX 02:52 · JFK 05:52
    ♥ Do have faith in what you're doing.