博客
关于我
想要成为高级程序员,你得先学数学才行
阅读量:320 次
发布时间:2019-03-03

本文共 1055 字,大约阅读时间需要 3 分钟。

傍晚,忙了一天的 Ray 终于下班,摘下眼镜休息双眼。他走到公交车站等23路公交车回家。在这里,作为一个高度近视眼的人,Ray 每天都面临着不小的困扰。每次公交车驶来,他都看不清车身上的号码,这严重影响了他的挤车效率。

这让他不禁思索,为什么别人都能轻松看清,而自己却要戴着眼镜?想起在国外出差时,公交车上的号码总是印在车身上,字号很大,即使视力不好也能看得很清楚。"如果能做一个手机App,拍摄车身照片并自动识别号码,那就太方便了!"这念头突然在他脑海中闪现。

他立刻想到了朋友 Cavy,决定与他共谋此事。Cavy对深度学习算法赞不绝口,甚至提到过曾打败人类顶尖围棋高手的深度学习。Ray虽然对深度学习的原理感到好奇,但还是决定先从基础开始学习。

深度学习的核心在于神经网络,而神经网络又建立在人脑的神经元网络之上。Cavy简单解释道:"神经元通过细胞体接收信息,树突传递信号,轴突输出结果。点火过程可以用数学式子表示:"

z = w1x1 + w2x2 + ... + wn xn

y = u(z)

为了避免单位阶跃函数的间断点,神经网络通常使用 Sigmoid 函数作为激活函数,将输出光滑化。Cavy还提到,神经网络的结构通常包括输入层、隐藏层和输出层。以公交车号码识别为例,我们可以设计一个包含4x3像素的二值图像识别网络,分3层组织:

  • 输入层:12个神经单元,每个对应一个像素位置。
  • 隐藏层:3个神经单元,负责提取特征。
  • 输出层:2个神经单元,判断数字0或1。
  • 通过数学推导,我们可以得到神经网络的关系式:

    输入层:a = z

    隐藏层:b = a(z)
    输出层:c = b(z)

    为了实现这一目标,我们需要预先准备64张图像作为训练数据,并标记好答案。目标函数是最小化平方误差:

    C = Σ( t1 - c1 )² + Σ( t2 - c2 )²

    为了避免繁琐的偏导数计算,误差反向传播法可以用神经单元误差递推关系来简化梯度计算:

    δl = m_{l+1} * f'(z_{l+1}) * δ_{l+1}

    这样,我们就可以一步步计算出各层的误差,从而调整权重和偏置参数,最终达到最小化代价函数的目的。

    Ray对这个方法赞不绝口,但也提出了自己的疑问:"公交车号码由0-9组成,需要更大的网络结构。"Cavy建议使用卷积神经网络(CNN),通过局部感受野和池化层显著减少神经元数量,提高识别效率。

    Ray随后表示需要进一步深入学习,Cavy送给他一本《深度学习的数学》,以帮助他更好地掌握相关知识。

    转载地址:http://mxol.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现PrimeFactors质因子分解算法 (附完整源码)
    查看>>
    Objective-C实现pythagoras哥拉斯算法(附完整源码)
    查看>>
    Objective-C实现qubit measure量子位测量算法(附完整源码)
    查看>>
    Objective-C实现quick select快速选择算法(附完整源码)
    查看>>
    Objective-C实现rabin-karp算法(附完整源码)
    查看>>
    Objective-C实现radians弧度制算法(附完整源码)
    查看>>
    Objective-C实现radianToDegree弧度到度算法(附完整源码)
    查看>>
    Objective-C实现radix sort基数排序算法(附完整源码)
    查看>>
    Objective-C实现rail fence围栏密码算法(附完整源码)
    查看>>
    Objective-C实现rayleigh quotient瑞利商算法(附完整源码)
    查看>>
    Objective-C实现RC4加解密算法(附完整源码)
    查看>>
    Objective-C实现recursive bubble sor递归冒泡排序算法(附完整源码)
    查看>>
    Objective-C实现recursive insertion sort递归插入排序算法(附完整源码)
    查看>>
    Objective-C实现recursive quick sort递归快速排序算法(附完整源码)
    查看>>
    Objective-C实现RedBlackTree红黑树算法(附完整源码)
    查看>>
    Objective-C实现redis分布式锁(附完整源码)
    查看>>
    Objective-C实现reverse letters反向字母算法(附完整源码)
    查看>>
    Objective-C实现ripple adder涟波加法器算法(附完整源码)
    查看>>
    Objective-C实现RodCutting棒材切割最大利润算法(附完整源码)
    查看>>
    Objective-C实现Romberg算法(附完整源码)
    查看>>