看了看评论,我觉得有必要给大家大概讲一下所谓的AI是怎么回事:
所谓的AI就是一个函数 f(w,in) ,w是网络本身的一部分配置参数(不一定是实数),in 则是外界输入(也不一定是实数),AI函数 f 根据配置参数 w 和外界输入 in 生成一个策略 f(w,in) = out (更不一定是实数)。这时问题就来了,我们如何知道这个函数好不好呢?所以我们还需要一个评价函数 k(in,out) 来生成我们对对应环境下对应输出好不好(输出是一个可以比较的数)。
好了,现在我们可以训练网络了,所谓的训练网络,就是调整配置参数 w ,使得我们的的评价函数 k(in, f(w,in)) 的输出尽可能的高。这就是AI的本质,一种统计拟合的函数。
如何调整这个 w 有两种方式,其中一种方式是:如果这里面所有的函数都是实函数,都可以求导,那么我们可以算 k(in, f(w, in)) 在当前参数值 w0 处关于 w 的偏导数 a,然后给 w0 加上一个 a 的倍数,持续这个求导,然后加到 w 上的操作,直到这个函数值没有变化,你的网络就训练好了,这就是所谓的梯度下架。另一种方式就是直接暴力遍历 w 的所有可能取值(也有启发式,不同算法有不同设计),然后找到这个 k 的最大值对应的 w 。
当这个 k 函数本身能够以直接编程的方式去实现的时候,就是强化学习,否则就是一般意义上的深度学习。