大龄程序员的人工智能学习之路[2]

栏目: 数据库 · 发布时间: 7年前

内容简介:吴恩达的《Machine Learning》在线课程就不用我赘述了,有两个学习途径:

大龄 <a href='https://www.codercto.com'>程序员</a> 的人工智能学习之路[2]

题图:由 Sasin Tipchai Pixabay 上发布

吴恩达的《Machine Learning》在线课程就不用我赘述了,有两个学习途径:

  1. 上Coursera在线教学网站学习,优点是每个章节学习之后可以在线答题,可以提交答案检验是否正确,而且还可以做编程练习,编程练习提交到系统后,系统可以自动测试程序是否运行正确。缺点是需要科学上网,而且有些视频并没有中文字幕。

  2. 上网易云课堂学习,优点是速度快,全部视频都有中文字幕。缺点是没有在线习题,也没有编程练习。

在这两个地方学习,都是完全免费。我一直都在科学上网,英文字幕也勉强能看懂,所以我是上Coursera网站学习的。当然也可以在网易云课堂上看视频,到Coursera上做习题和编程练习。这门课程虽然叫机器学习,但其实重点讲的是回归和梯度递减算法,而没有像《机器学习实战》那本书那样涉及好多机器学习的算法。对于线性回归和逻辑回归以及梯度算法讲的非常透彻,辅助以代码实例,也容易懂。每个章节后面都有习题加深巩固。从第二周开始每周有编程练习。整个课程安排了十一周,这是考虑到学习时间有限的情况下,其实如果时间充裕,一天完成一周的学习都没问题。

这门课我认认真真学习了每个视频,完成了每个习题和编程练习。这门课让我开始对机器学习有些感觉,对于回归和梯度算法有了比较深入的理解。编程练习采用的是和matlab兼容的Octave语言,要是选择 python 语言就更完美了。当然Octave语言也比较简单,稍微学习一下就可以上手。

学完这门课程之后,我又马不停蹄的学习了他的另一门课程《Deep Learning》,准确的说是一个微专业,包含了五门课程:Neural Networks and Deep Learning、Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization、Structuring Machine Learning Projects、Convolutional Neural Networks、Sequence Models,每门课程安排了大约3到4周的学习时间,每个章节都给出了建议学习时间。如果是边工作边学习,就按照这个进度学习就很好。

这门微专业在网易云课堂上同样免费,在Coursera上也可以免费看,但如果要在线提交习题和编程练习,需要收费,折合人民币308元。考虑到在Coursera上可以在线做练习,308元的价格也不贵,我选择了付费,国内带VISA标志的信用卡可以付费,直接折算成人民币付款。

每节课成后面的习题,我都认真做了分析,并写在公众号里:

[神经网络与深度学习] Introduction to deep learning习题解析

[神经网络与深度学习] Neural Network Basics习题解析

[神经网络与深度学习] Shallow Neural Networks习题解析

[神经网络与深度学习] Key concepts on Deep Neural Networks习题解析

[改善深度神经网络] Practical aspects of deep learning习题解析

[改善深度神经网络] Optimization algorithms习题解析

[改善深度神经网络] Hyperparameter tuning, Programming Frameworks习题解

[卷积神经网络]课程:The basics of ConvNets习题解析

[卷积神经网络]课程:Deep convolutional models习题解析

[卷积神经网络]课程:Detection algorithms习题解析

[卷积神经网络]课程:Face recognition & Neural style transfer习题解析

[序列模型] Recurrent Neural Networks习题解析

[序列模型] Natural Language Processing & Word Embeddings习题解析

编程练习使用了Google的TensorFlow框架,考虑到Google在业界的影响力,我决定主要使用TensorFlow框架,为此还看了一本《TensorFlow实战》。

这本书谈不上经典,但比较实用,作为了解TensorFlow框架的基础书籍,还算可以,但这本书我并没有看完,只挑了我感兴趣的章节。

对深度学习以及TensorFlow框架有了一定的掌握之后,决定做一个小项目来练练手。一次看到微信上的 识花君 小程序后,决定做一款类似的小程序,拍照识狗,取名为 识狗君 。这实际上是一个图片分类问题。图片分类问题是深度学习最基础的应用,各种图片分类的示例代码满大街。但对于一个新手来说,照着代码一行行敲,运行出来不难,但对于一个新项目来说,还是有许多问题需要解决:

  1. 狗狗图片数据集哪里来?

  2. 选择哪种图片分类模型?如何再训练?是采用端侧推理还是在服务器端识别?

  3. 微信小程序如何开发?

  4. 模型如何部署?

  5. 微信小程序如何与服务端通信?

在这个开发过程中,我在公众号上分享了我对于项目的考虑,碰到的问题,研究的方法:

这个中秋,我开发了一个识别狗狗的app

一头栽进了tensorflow lite的巨坑里

当微信小程序遇上TensorFlow:Server端实现

当微信小程序遇上TensorFlow:Server端实现补充

当微信小程序遇上TensorFlow:小程序实现

当微信小程序遇上TensorFlow:接收base64编码图像数据

当微信小程序遇上TensorFlow:终章

识狗君微信小程序的部署

项目的所有源代码都放在github上:https://github.com/mogoweb/aidog

需要注意的是:TensorFlow框架一直在进化中,可能上面的代码在最新框架上并不能直接使用,我正在考虑将其移植到TensorFlow 2.0上。另外上述方法并非最优方法,只是我在当时能想到的最好方法。如果你有什么好的想法,欢迎交流。

当时看到报道,有AI写诗、AI作曲、AI作画,对GAN(生成 对抗 网络)产生了兴趣,还买了一本《GAN:实战生成对抗网络》。

在下一篇文章中,我将继续讲述我的大龄程序员的人工智能学习之路,敬请关注。

你还可以读:

大龄程序员的人工智能学习之路[1]


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Practice of Programming

The Practice of Programming

Brian W. Kernighan、Rob Pike / Addison-Wesley / 1999-2-14 / USD 49.99

With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual progr......一起来看看 《The Practice of Programming》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具