毕业论文那些事
由于没什么好讨论的话题,就来讲讲我的毕业论文吧。最开始的我,比较桀骜不羁,不懂得正视事实,想顺着自己的兴趣去做Lean4形式化,如果它只是计算机相关其实还好说,但我偏偏选择了,基本没什么人能读懂的IUT理论,甚至连自己能否理解也是一个未知数,最终由于风险过大,还是被驳回了。嘛,其实无所谓了,想成大事却无法成功也不是一回两回的事了,至于选择的结果嘛,是已经被研究烂的机器翻译,理由其实还是挺多的,比如作为一个资深Gal想好好研究一下翻译,并借此机会多学点东西,另一方面,涉及人工智能和AI方面的东西,是比较好水论文的,没错,最后的最后我们依旧没能成就一番大业,并在注水的路上越走越远。
关于深度学习相关的东西,我在以前就有所了解,当时的理解比较浅薄,只是简单地将其视为一个带参数的函数,并通过训练来调整参数,在初浅的理解上,这并没有太大问题,只是因为懒得实践,导致对神经网络搭建和训练的复杂有所轻视。但是,经过为了毕业论文而所做的大量学习以后,我还是想说,神经网络模型的搭建果然就是玄学,拿我这次研究的Transformer模型为例,虽然很多介绍性的文章,都是详细地讨论注意力机制,并与人的行为进行对比,还对其中的Q-K-V进行深入阐释,要我说的话真有这么多屁事吗?要我说吧,搭建神经网络就是凭感觉,然后训练实践,失败了也就不了了之,成功了那就名垂青史,虽然建立优秀的直觉很重要,但将建立神经网络时的直觉作为理论,就真心不合适了。
拿我目前所持有的Galgame翻译器LunaTranslator为例,它拥有我所见到的最为全面的离线翻译工具。

里面能用的,其实就我勾选的三个,其它的基本都因为过于古老,而导致翻译质量不忍直视,想想都觉得不可思议,AI都发展了这么多年,能用的翻译模型竟然才三个,至于在线的那些,没有任何源码,也没办法研究。YakuYaku基于Transformer模型进行训练,一个2017年的模型,到了2023年才有人去训练中日翻译模型,多少有些魔幻。OrtSp基于2020年提出的mT5模型,参数量比Transformer多很多,推理速度也是慢的一批,但不知道是不是语料不行,在如此大的网络下,以我个人感觉来看,翻译质量还不如YakuYaku。Sakura模型,是大语言模型千问经过中日语料训练微调后的模型,对于这种模型,一般家用笔记本是跑不动的,当然它的主要作用是类似于GPT的语言对话,而翻译则是通过指令得到的附加功能。
从上面这些例子,我们也能明白,AI的模型确实数不胜数,并且随便改改就能有新的模型,关键其实还是在于训练和运用上,好模型是能训练成功的,坏模型就能对数据弄虚作假了。我对AI是充满敬畏之心的,没有任何蔑视之情,只是它真的过于魔幻了,有时候精心搭建的网络没有显著效果,随便搭建的网络却柳暗花明,会产生怎样的落差感,只有体会过的人才能明白。实际上,回归历史,ChatGPT虽然近两年才突然火爆,但它的理论很早以前就有了,所以成功的关键还是在于,它确确实实地训练出了一个可用模型,实际上很多厂商开始效仿大语言模型,并非是它们发现了什么新模型,而是它们发现了一条可行的AI道路,并沿着它前进,而在这之前,以我个人猜测,大家只是抱着对未知沉默成本的恐惧,而不敢前进罢了。
开辟新的道路,真是我想在毕业论文中所做的事情,反正都要毕业了不如就搞波大的吧,就算实验无法成功,对理论性的东西造假也见怪不怪了,当然最大的问题,还是我的电脑不行,没办法进行大量模型的训练,实在可悲。这次我想做出的事是复兴记忆网络,这事还是得现在应用较多的模型说起,比如ChatGPT,和它进行对话的时候,它似乎拥有记忆的功能,甚至能通过指令暗示来更改后面的说话内容,于我而言,其最大的作用就算提前固定好翻译中的专有名称。但实际上,只要深入理解GPT模型的运行原理就会知道,几乎任何具有实际作用的神经网络都是没有记忆的,而GPT之所以能记住前面内容,是因为在一次推理的过程中,历史记录也会作为输入送入模型,而且确实有人测试过达到几万个token的时候,GPT会出现遗忘现象,只能说虽然现在的AI确实厉害,但记忆功能的天生缺陷,使它离真正的人工智能还是有较大距离的。
那为什么现在的AI都不去引入记忆呢?准确来说,现在的AI是有记忆的,只不过是一次推理中的短期记忆。如果我们探究人记忆的生物本质就会明白,记忆是神经元的连接,记忆是不可能像存储卡一样以物理介质的方式存在的,神经网络的记忆,实际就是训练过程中,网络中的参数,因此想要让神经网络拥有大量知识,就只能堆叠那琢磨不透的参数量,当然联网就不是神经网络自己的能力了。以我个人观点来看,记忆不能引入的另一个原因是,它该以怎样的形式存在,就神经网络而言,它是人类神经系统的模仿,但就记忆存储而言,其所带有的是计算机的色彩,两者在内容上看是难以协调的。
口说确实无凭,相应的尝试是很多的,比如Memory Network、Neural Turing Machines、Key-Value Memory Networks、Recurrent Entity Networks等等,我自己确实地训练过它们,但基本都没啥用,甚至还做过不少的改造,而我最为大胆的一次尝试就是,让Transformer模型带上物理内存,具体内容就参考我的毕业论文吧,说实话还不如以原版Transformer为基础的YakuYaku。最开始我的设想是模仿Transformer中编码器对解码器的影响作用,做到用物理内存数据影响模型推理,而现实却是,毫无规律的波动干扰了推理效果,之所以将其称为干扰是因为传入的数据与模型推理过程中传递的数据是格格不入的,而Transformer模型中,由于解码器和编码器的结构是极其类似的,因此我们可以认为其内部数据是协调的,从而编码器提取出的数据可以很好地指导解码器进行译文的生成。
我个人认为,数据的协调是融合推理数据和存储数据的关键,因此我的毕业论文就以此为切入点,构造的一个融合Transformer模型,不过比较可悲的是,截至时间不允许了,训练了14天,跑了一个epoch,就算如此我也对比了一个epoch下Transformer模型的表现效果,只能说还是不太行,但是为了毕业论文也没办法了,只能硬着头皮上了,我就直说吧,确实有那么一点数据造假,但作为一篇理论性的文章,提高个百分之零点几,应该谁也不会在乎,我也没有十分离谱地提高一大截,不过嘛,Transformer模型自身还是挺优秀的,就是我加上了干扰,它最后使用BLEU进行测试的时候就下降了一点几,换句话说,整体上我只是把数据提高了二点几左右,目的当然是为了说明这个模型确实有用,不然我又该如何将其作为论文呢?你说是吧?
虽然模型失败了,但论文至少出来了,而且我并不打算放弃这条道路,说实话我太想要一个能记住我说过话的AI了,在这点上GPT还是有点不太行,我们该想的是出路是什么?实际上,我有一个极其大胆的想法,就是让AI训练的时候自己建立神经网络,而这个神经网络以物理内存的方式充当记忆。想法确实天马行空,但真正实践的时候,有些过于困难了,首先,现有的神经网络框架就未曾有过如此高级的功能,其次,如何推理?如何训练?如何建立流程?完全处于空白阶段。但我会将它作为我在AI上的终身课题,至于有多少个终身课题也记不清了,但说得也差不多,该结束了,文章不长,十分抱歉,但言简意赅就是我的风格。