第1271章 F(x)=H(x)-x
    说完,成文飞重新看向白板。

    白板左侧写着“语音识别”,右侧则是何恺明刚刚画出的网络结构。

    十几层卷积模块一层层往上叠,训练曲线却在十五层以后开始下滑。

    成文飞指着曲线:“我的模型加深到十五层以后,训练集准确率不升反降。ReLU、BN、DrOpOUt都用上了,还是解决不了。”

    “深度网络不是越深越好。”何恺明说。

    “这话已经听过很多次了。”

    “但是问题不一定出在深度本身。”

    何恺明拿起笔,在白板上写下一个H。

    “传统网络每一组卷积层,都在学习完整变换H(X)。输入是X,输出目标是H(X)。如果网络继续加深,后面的层就必须重新学习一套完整特征。”

    成文飞看着公式,没有打断。

    何恺明又在旁边写下:

    F(X)=H(X)-X

    “那我们换一个目标,不让这几层直接学习H(X),只学习残差F(X),最后输出F(X)+X。”

    “加一条捷径。”成文飞说。

    “对。”何恺明在图上画了一条从输入绕到输出的线,“原始输入X不再被迫经过所有卷积层,而是直接跨过去,和卷积模块的输出相加。”

    成文飞盯着那条线:“这会破坏特征提取链路。”

    “成教授,我们做个思想实验。”何恺明转过身,“一个二十层网络已经能工作,我在后面再加三十六层。如果这三十六层什么都不做,只把输入原样传下去,那么五十六层网络至少不应该比二十层更差。”

    “但是直接堆叠以后,它反而会变差。”

    “这说明网络很难学会恒等映射。残差结构把最简单的答案直接留给它。如果新增层没有价值,就把F(X)学成零,原始信号直接通过。新增层有价值,就只补充需要修正的特征。”

    成文飞看着白板,许久没有说话。

    他过去的认知很明确,神经网络每一层都应当完成一次特征提取,信息必须经过连续变换才能逐层抽象。

    让输入跨过中间层,在他看来像是给网络偷懒。

    “这在前向传播上说得通。”成文飞拿起笔,“但反向传播呢?梯度经过加法结构,会不会出现新的不稳定?”

    “我也在算这个。”

    何恺明把白板擦出一块空白,写下损失函数和输出表达式。

    “假设y=F(X)+X,反向传播时,损失对X的梯度不只经过F这一条路径,还会多一条直接传递的路径。只要加法结构没有被破坏,梯度就能沿着捷径回到浅层。”

    成文飞接过笔,在公式旁边补了一行。

    两个人很快投入推导。

    实验室里只剩下笔尖划过白板的声音,旁边的研究员也围了过来。

    成文飞不断提出问题,何恺明不断修改表达式。

    一个小时后,成文飞放下笔。

    “成教授,先别判断它是不是普适,跑一次数据会回答。”

    成文飞看着白板上的结构图,“那好,准备实验。”

    “现在?”

    “现在。”

    “语料还没完全标注。”

    “先用现有数据做对照。普通堆叠网络和残差结构各训练一版,层数从十层开始,逐步加到二十六层。”

    “行。”

    成文飞转身看向服务器区,“如果这个结构能把深度网络的问题解决,语音识别的进度会快很多。”

    何恺明没有接话,他知道,成文飞真正关心的不是一篇论文,也不是谁先提出一个结构,倒是自己,这个想法完全可以整理出一篇论文来。

    如果这条路能让深层模型继续训练,神经网络的上限就会被重新打开。

    倒是马乐离开人工智能实验室后,直奔杜文的系统工程部门办公区,在他看来陈总最关注的项目有三个,一个是半导体,一个是汽车,还有一个就是人工智能。

    如果更准确一点的说,那连汽车都不能算。

    只有半导体和人工智能才是最重要的东西。

    没和成文飞他们接触之前,在马乐的设想中人工智能就像电影里的那样,但真正和这些专家大牛接触以后,特别是从陈总口中听到一星半点的话语之后,马乐知道,人工智能绝对不是电影里那样。

    至于真正的AI是什么,马乐也不知道,或许只有陈总见过?

    走到系统工程部门,马乐一进来就大喊,“杜文,杜文,杜总。”

    办公室里传来回应:“谁在喊我?”

    “你马哥。”

    杜文从办公室走出来,看到马乐,笑着迎上去,“哟,这不是马乐吗?你怎么跑到我这里来了?”

    这俩人可以说是红星的元

本章未完,请点击下一页继续阅读>>