《深度学习入门》读后感

2020-05-05

《深度学习入门:基于Python的理论与实现》读后感

最近因为做一个功能要用到深度学习相关知识和TensorFlowLite,我决定认真的学一下深度学习的知识。以前总觉得AI太高大上,怕自己看不懂。但是这次做这个功能让我意识到,如果自己再不学习,过几年可能就太晚了。我估计三五年之后,AI会渗透到各行各业,连APP开发也需要掌握一些深度学习的知识。

先说一下我们APP做的这个功能:用相机扫描检验单(体检单),将检验单截图上传到服务器,服务器进行OCR识别,并将数据结构化,用于生成用户的基因报告。这里涉及到APP开发的部分是将相机中的检验单检测并裁剪出来,上传到服务器识别。这里识别和裁剪部分很重要。将检验单准确的裁剪出来,可以提升OCR准确率。如果随意拍了一张图片,除了检验单部分,可能还包含了其他杂乱的背景,甚至其他不相关的文字内容。所以只将检验单部分裁剪出来是很重要的。

如果采用传统的OpenCV边缘检测方法来在图片中来找检验单,效果不尽人意。但是如果采用深度学习的方式来找检验单,那就可以得到很好的效果。当然这也是我们从fengjian大神博客学到的。我们采用他的方法,自己准备了一批数据训练,得到一个模型。而我们APP的任务就是在手机上采用TensorFlowLite运行我们的模型来推断得到相关结果。

因为做这个功能,我了解了下TensorFlowlite,但是我们深度学习却是了解不多。所以我决定找本书来学习一下。网上查了下,《深度学习入门:基于Python的理论与实现》这本书挺受好评,问了下我同事,他也看过这书,说写得不错,可以看下。所以我就入手了。看得过程中,我就觉得这本书真是一本好书,是写给普通程序员的深度学习入门书

这本书真的写得挺好,理由:

  • 由浅入深,从Python基础,感知机,最简单的神经网络,再卷积神经网络,循序渐进。
  • 几乎每行代码都进行说明,还有完整的运行示例。真的是只有日本人这么细致的人才写得出来。这是我真实感受。虽说Python是一门挺简单的语言,但是它有大量的库,特别是numpy有很多函数,对于本身就没有用过Python的人来说,不解释代码的意思根本很难看懂。而且代码跟理论结合理解,非常符合程序员思维。
  • 加入了大量的图标来解释说明。不管是一些数学原理,推导过程,计算过程,都有图表进行说明。
  • 内容编排比较合理,很多需要预备的知识先在前面讲了。例如Python基础,numpy基础。激活函数,导数,数值微分,梯度,误差反向传播。可以看得出作者精心编排。我自己数学一般,我看起来只有后面的两章很吃力,其他的都还好。我觉得这得益于作者的内容编排

网上有不少人说这本书是可以零基础入门。也对也不对。如果是完全不懂计算的人,我觉得还是很难看到的,毕竟这里涉及到很多代码逻辑,我觉得至少要有一定的计算机基础和编程基础。我看这本书的时候,我特意看得很慢,而且会反复回退去查看相关章节。例如如果看到某个函数忘了是怎么实现的,就应该回退去查看它的实现和推导过程。

我个人觉得这本书写得很好,看完了让人感觉原来AI不是那么复杂,仿佛自己马上可以手动实现一个神经网络。我原本对AI有点怯,怕对里面的数学看不栋。但是这本书它打消了我的恐惧,让我比较理解了深度学习,人工智能,以后面对AI不再是一个黑盒,而是能想象到它里面的实现逻辑,它为什么能学习,它是怎么学习的。

当然这也只是第一步,但是我觉得这一步迈得挺好的。感谢斋藤康毅。


更新CNN解释器

最近发现一个github开源库解释CNN的,可以结合这本一起看。这本是对CNN的讲解我觉得挺不错的,但是可能看一遍还是不是很理解,我是看了两三遍仍然觉得不够。后来看了这个CNN解释器库之后觉得好了些,因为它用图形具象化了。

cnn解释器插图


如果你觉得这篇文章有用,请打赏小钱喝杯咖啡^_^ 打赏

Category: 技术 Tagged: 深度学习 人工智能 读后感

Comments