Convolutional Neural Networks in TensorFlow 总结

Convolutional Neural Networks in TensorFlow 是 deeplearning.ai 的新课程,网上很多媒体会说是吴恩达的新课,实际上教学的老师是 Laurence Moroney。

这门课课时不长,对于 TensorFlow 比较熟悉的人基本上只需要花费一上午的时间就能完整看完。事实上,还是非常惊讶于老外能通过在几分钟的视频就把一个知识点说清楚,这不知比国内拖拖拉拉的视频课高哪里去了。4 周的课程,每周的全部视频时长也就不到半小时时间。

整个课程讲了 4 部分内容:

  • 第一周,实际上就是拿 Cats v Dogs 数据集搭了一个基础的卷积神经网络,讲了一下 CNN 的特点和训练过程,Feature Map 可视化等零散知识点。
  • 第二周,重点内容在数据增强,讲了使用 TensorFlow 做数据增强的方法,重点的理论集中于对过拟合的论述并尝试使用数据增强的方法来避免过拟合。
  • 第三周,主要涉及迁移学习的知识,使用 Inception 去完成第二周中的示例,引入了迁移学习中常用的 Dropout 方法来比较测试集准确率持续走低的问题。
  • 第四周,标题是 Multiclass Classifications,实际上相当于对前面 3 周所学的综合运用。数据集比较有意思,是石头剪刀布手势分类,最大的特点是训练集图片都是 CG 合成的。

总体来讲,这门课的内容还是不错的,但还有有明显的不足。首先,课程的定位是 TensorFlow 进阶课程,但并不那么「进阶」。而对于 TensorFlow 基础较差的用户,课程又缺少了对 TensorFlow 代码的详细说明,这可能需要花费一定的时间去理解。