2021年终于实现了神经网络从0到1的突破

回顾2021年,终于在神经网络(全称为人工神经网络)方面实现了从0到1的突破,可谓是十年磨一剑。从2010年接触神经网络开始,就对其很看好,可惜存在一些难题需要克服,包括硬件算力、非线性变换等,通过十年的不断学习、思考、推理论证,并从2020年开始花了两年时间只做一件事,专门推导和验证神经网络的理论,终于在2021年实现了从0到1的突破,研发完成了确定性神经网络,并借助一款应用——神经网络连子棋,在不断学习进化和验证算法模型。

1. 初识神经网络

从2010年开始接触神经网络,当时新买了一本机器学习算法的书籍,书中对诸多机器学习算法进行了浅显易懂的介绍、推理和实现,历时几个月,通学了包括感知器、多层感知器、Hopfield网络、RBF网络、玻尔兹曼机等神经网络相关算法在内的数十种算法之后,对其中大部分算法的理论进行了推导和实现。从那时起就觉得神经网络未来会有个好的发展,比其他的算法更具有系统性,但也存在几个关键问题有待解决,包括硬件算力、存储空间、非线性变换等,这些问题都限制了大量的实验。因而,只能在研究非神经网络类机器学习算法之余思考优化神经网络计算量的问题,这个问题不解决的话,就无法使用神经网络进行实验。

2. 不断学习和思考

在之后的十年时间里,随着计算机硬件的发展和神经网络与深度学习技术的发展,出现了诸多流行的神经网络,学习了包括模糊神经网络、小波神经网络、概率神经网络等融合类的神经网络,前馈神经网络、反馈神经网络、卷积神经网络、循环神经网络、递归神经网络、图神经网络、深度置信网络、自编码网络等基础神经网络,也包括根据应用和模型命名的各种网络、优化较小而未命名的各种网络,例如较为有名的残差网络、残差注意力网络、基于区域的卷积神经网络等。

在详细推导了前馈神经网络、反馈神经网络、卷积神经网络等基础神经网络之后,使用开源的神经网络和深度学习框架跑了人脸识别等几个简单的案例,虽然使用了开源方提供的训练好的模型会取得更好的结果,但自己训练模型的时候却遇到了诸多问题。在深入剖析核心理论和实验过程数据之后发现,自主研发神经网络并进行实验的时机已经来临,但是神经网络本身似乎偏离了本质,未能解决光照不变性、缩放不变性、平移不变性、距离不变性、仿射不变性等非神经网络算法都在关注的问题,而只是在简单追寻着网络深度、网络参数、收敛性等便于急功近利的东西。另外,神经网络模型也变得不可解释和无法理解,与人类大脑认知机制之间的差异很大

当然了,更关键的是,在这十年的发展中发现,整体越来越浮躁,很难有机构和个人能够沉静下来攻克难题,都在追求一两个月甚至一两周就能出结果的调参工作,有时也会戏称很多机构要招的不是工程师,是魔术师。像华为公布出来的“聘的一个俄罗斯数学家玩了四年,然后突然就上报攻克了一个关键技术”的情形,在整个中国都难找出几个了,别说四年,一年看不到结果就得被优化掉了。在这十年的学习和思考过程中,在思考如何解决神经网络的关键问题并构建可理解的神经网络的过程中,我也在等待和寻找一个让自己完全专注于神经网络的契机。

3. 技术攻关

终于,契机来临,从2020年开始,我花了两年时间专注于一件事,完全沉静下来研究神经网络,经过数十轮的理论推导和论证,最终于2021年研发成功了确定性神经网络——一款国产的基础神经网络。

确定性神经网络解决了硬件算力问题,一个数据即可训练,而且训练的结果能够正常工作,用于预测,只是显得不够智能而已。另外,模型可以在工作的过程中不断学习和进化,随着训练数据的增多,其智能程度会持续增长。这也更接近人类的大脑认知,要认识一张人脸,不需要拿来千百万张人脸进行学习;但随着看到的人脸越来越多,可以分辨的人数量也会持续变多。

确定性神经网络的另一个更接近人类大脑认知的地方在于,网络模型深度随着学习会自然增长,深度越大则越智能,但是,并非所有场合都要使用统一的最高智能程度进行工作,例如:和入门级棋手对弈时只需使用极少的模型深度,而非对于所有棋手都使用最高智能程度。

当然了,确定性神经网络还具有若干其他的优点和特性,例如:不存在发散等问题、不需要调参等。同时,确定性神经网络连子棋也只是确定性神经网络的第一个版本,未来的路还很长,还需要优化迭代,2021年只是一个新的开始。

4. 总结

未经十年寒窗苦,哪得利剑出鞘时高质量的产出,必然经历长时间的千锤百炼

你可能感兴趣的:(神经网络,深度学习,机器学习)