专栏名称: 人工智能头条
专注人工智能技术前沿、实战技巧及大牛心得。
目录
相关文章推荐
宝玉xp  ·  这文章还是来自 @左耳朵耗子 的博客…… ... ·  20 小时前  
黄建同学  ·  总结:1.基于代码的评估(Code-base ... ·  昨天  
黄建同学  ·  最近把cursor一个月500条的fast ... ·  昨天  
爱可可-爱生活  ·  [LG]《LADDER: ... ·  2 天前  
爱可可-爱生活  ·  本文指出在小数据量 LLM 评测中,传统 ... ·  2 天前  
51好读  ›  专栏  ›  人工智能头条

我是一个平平无奇的AI神经元

人工智能头条  · 公众号  · AI  · 2020-10-19 18:00

正文

我是一个AI神经元

我是一个AI神经元,刚刚来到这个世界上,一切对我来说都特别新奇。

之所以叫这个名字,是因为我的工作有点像人类身体中的神经元。

人体中的神经元可以传递生物信号,给它输入一个信号,它经过处理后再输出一个信号传递给别的神经元,最终传递到大脑完成对一个信号的决策和处理。

聪明的计算机科学家们受到启发,在代码程序里发明了我: 神经元函数

在我们的世界里,我只是普普通通的一员,像我这样的神经元有成百上千,甚至上万个,我们按照 的形式,组成了一个庞大的 神经网络

很快我和隔壁工位的大白开始混熟了,他比我来得早,对这里要熟悉的多。

听大白告诉我说,我们这个神经网络是一个图像识别的AI程序,只要给我们输入一张狗的照片,我们就能告诉你这是一只柯基,还是泰迪、柴犬、二哈···

神经元结构

在大白的指引下,我很快就学会了怎么工作。

虽然我们叫神经元,名字听起来挺神秘的,但实际上我就是一个普通函数,有参数,有返回值,普通函数有的我都有:

def neuron(a):
  w = [...]
  b = ...
  ...

我有一个参数 a ,这个参数是一个数组,里面的每一个元素我把它分别叫做a1,a2,a3···用这个a来模拟我这个神经元收到的一组 信号

人类的神经元是怎么处理输入的生物信号我不知道,我估计挺复杂的。但在我这里就很简单:我给每一个输入值设定一定的 权重 ,然后做一个简单的 加权求和 ,最后再加上一个偏移值就行啦!

所以我还有一个数组叫做 w ,就是权重 weight 的意思,里面的每一个元素我叫做w1,w2,w3···,至于那个偏移值,就叫它 bias

如此一来我的工作你们也该猜到了,就是把传进来的a里面的每个元素和w里的每一个元素做乘法,再加起来,最后加上偏移值,就像这样:

说到这里,我突然想到一个问题,打算去问问大白。

“大白,这些要计算的数据都是从哪里来的呢?”

“是上一层的神经元们送过来的”

“那他们的数据又是哪来的呢?”,我刨根问题的问到。

大白带我来到了门口,指向另外一个片区说到,“看到了吗?那里是数据预处理部门,他们负责把输入的图片中的像素颜色信息提取出来,交给我们神经网络部门来进行分析。”

“交给我们?然后呢”

“咱们这个神经网络就像一台精密的机器,我们俩只是其中两个零件,不同的权重值某种意义上代表了对图片上不同位置的像素关心程度。一旦开动起来,喂给我们图片数据,我们每一个神经元就开始忙活起来,一层层接力,把最终的结果输出到分类器,最终识别出狗的品种。”

神经网络训练

正聊着,突然,传来一阵广播提示音,大家都停止了闲聊,回到了各自工位。

“这是要干啥,这么大阵仗?”,我问大白。

“快坐下,马上要开始训练了”,大白说到。

“训练?训练什么?”

“咱们用到的那些权重值和偏移值你以为怎么来的?就是通过不断的训练得出来的。”

还没说到几句话,数据就开始送过来了。按照之前大白教给我的,我将输入数据分别乘以各自的权重,然后相加,最后再加上偏移bias,就得到了最后的结果,整个过程很轻松。

我准备把计算结果交给下一层的神经元。

大白见状赶紧制止了我,“等一下!你不能直接交出去”

“还要干嘛?”

大白指了一下我背后的另一个家伙说到:“那是 激活函数 ,得先交给他处理一下”

“激活函数是干嘛的?”,我问大白。

激活 ,就是根据输入信号量的大小去 激活 产生对应大小的输出信号。这是在模仿人类的神经元对神经信号的反应程度大小,好比拿一根针去刺皮肤,随着力道的加大,身体的疼痛感会慢慢增强,差不多是一个道理。”

听完大白的解释,我点了点头,好像明白了,又好像不太明白。

后来我才知道,这激活函数还有好几种,经常会打交道的有这么几个:

  • sigmoid

  • tanh

  • relu

  • leaky relu


激活函数处理完后,总算可以交给下一层的神经元了,我准备稍事休息一下。

刚坐下,就听到大厅的广播:

随后,又来了一组新的数据,看来我是没时间休息了,赶紧再次忙活了起来。

这一忙不要紧,一直搞了好几个小时,来来回回重复工作了几万次,我都快累瘫了。

损失函数 & 优化方法

趁着休息的空当,我又和大白聊了起来。

“大白,刚刚咱们这么来来回回折腾了几万次,这是在干啥啊?”

大白也累的上气不接下气,缓了缓才说到:“这叫做网络训练, 通过让我们分析大量不同品种狗的图片,让我们训练出合适的权重和偏移值,这样,我们就变得会认识狗品种了,以后正式工作的时候给我们新的狗的图片,咱们也能用学到的知识去分辨啦!”

“那到底是怎么训练的,你给我说说呗”,我继续问到。

“你刚才也看到了,广播里不断通知更新权重和偏移值。这训练就是通过不断的尝试修改每一层神经元的权重值和偏移值,来不断优化,找到最合适的数值,让我们对狗的种类识别准确率最好!”,大白说到。

“不断尝试修改?这么多神经元,难不成看运气瞎碰?”

大白给了我一个白眼,“怎么可能瞎试,那得试到猴年马月去了。咱们这叫深度学习神经网络,是能够自学习的!”

他这么一说我更疑惑了,“怎么个学习法呢?”







请到「今天看啥」查看全文