随着硬件的发展,人类科技的不断进步,人工智能这个概念这几年大火特火。虽然人类第一次构建可编程计算机时,就已经在思考计算机能否变得智能,但人工智能真正的走村下乡也就是这几年的事情。趁着热乎,编程人员多了解一下这方面的知识显然是有好处的,如果不怕被打脸的话至少可以装装逼,所以接下来的内容就是我为了以后装逼使用的素材。我会以一个初学者的角度去研究人工智能里面的一个小小领域——深度学习,尽量理解其中的每一个细节,不过限于自身水平有限,所以文章内容也只能记录一些自身理解的知识,无法理解的内容我会在不影响理解的情况下跳过,当然如果真的跳不过,也只能头铁的去硬怼,大家如果有幸看到这篇文章,发现不足之处希望可以指点一下,在此先行谢过!

任何事情都要有个理由,在学习深度学习的过程中,也必须要确认一个目标。当前的目标是准备用深度学习来计算一组参数。这组参数是在 俄罗斯方块 AI 算法讲解 提到的 6 个权重系数,原始的 EI-Tetris 算法中,这6 个系数使用粒子群优化算法计算出来的,我准备试试用深度学习加以验证,整个过程都会以文字的记录下来,其实我目前觉得用深度学习推导这么简单的线性方程貌似有点大炮打蚊子,不过随叫我是初学者呢,先找个伪目标再说。

现在的深度学习大多会使用 Python 语言开发,我这里准备使用 C 语言从头开始撸,之所以这样是因为我的目的是学习为主,所以暂时不想直接使用 Python 那些自带的函数,这会在一定程度上掩盖一些细节造成某些功能上理解困难。当然不使用 Python 显然也会造成一些额外的麻烦,目前我能想到的有矩阵计算时候的优化问题,静态语言一些表达上的限制,过多的实现细节会分散经历造成无法坚持等等,不过我暂时想头铁试一试,万一不行可以随时切换回来,可能那时候也是一个大型“真香”现场也说不定……

我目前的理解是深度学习可以看作机器学习的一个子集,学习深度学习首先要掌握的是神经网络相关的知识,而研究神经网络首先要掌握的应该是神经元相关的知识,所以让我们从神经元开始吧!

TODO:学习机器学习中的线性回归用来搞定俄罗斯方块问题
TODO:学习深度学习的最基本的神经元、神经网络的相关知识。