标签:noi 课程 drl ima 原来 翻译 ras 建议 语音
给妹子的深度学习系列教程妹纸:对了,你那边有比较系统的深度学习和机器学习的资料吗,我舍友也想要。
花花:(懵逼。。)额,好像是有,那我晚点整理一下吧。
遂,花花整理之:
写在前面,以下部分网站需要「***」后食用,不在国内所以也不知道究竟被墙多少。
若无法***,请「自寻」国内资源,如百度网盘,b站转载 或 知乎它人提供的链接。
关于书籍
首推 Deep Learning 这本书,我花了700+RMB买了一本,这本书作者就不用多说了,GAN之父Ian Goodfellow 另外一个好消息就是,这本书在几个星期前出了中文版,大快人心,才100多块,真心便宜, 赶紧入手一本吧,圣经就算不读也可以供在家里吖。
当然,你也可以从 deeplearningbook-chinese 下载本书的PDF啦
如果完全没有基础,建议还是要先学ML比较好,手头有李航的统计方法学,,不过没看几页,然后是周志华老师的西瓜书,也没看几页,2333.
关于课程
其实已经不太推荐 Andrew Ng 的 ML了,因为有太多更好的代替品;
台大 李宏毅 老师最近出了一系列视频,你可以在它的个人网站上找到
* Machine Learning (2017,Spring)
* Machine Learning (2016,Fall)
* Machine Learning and having it deep and structured (2017,Spring)这门课叫做MLDS,其实就是在讲Deep Learning,而且homework非常有意思,有GAN也有RL,关键是老师讲得确实很好,值得推荐;
* 另外就是李宏毅老师的《一日搞懂深度学习》,其实链接 全都在老师的个人网站上,8月13号在台北还有他的talk《一日搞懂生成对抗网络》,同学有报名去听,我的话,没钱啊。。2333.
* 其实李老师的所有视频都在他的YouTube上。
还有台大 林軒田 老师出的公开课《机器学习基石》和《机器学习技法》。老师讲得很好,PDF做得也很棒,毕竟林老师曾经是多届 KDD Cup 的冠军啊
* Machine Learning Techniques, Spring 2017
* Machine Learning Foundations, Fall 2016
最最推荐的其实是 Fei-Fei Li 的 CS231n,这门课就真心赞了,video, slide,note都写得非常好。课程的视频,在YouTube上面也能轻松找到。
* CS231n: Convolutional Neural Networks for Visual Recognition
* 知乎还有翻译 贺完结!CS231n官方笔记授权翻译总集篇发布
或者是 CS224d: Deep Learning for Natural Language Processing
关于Reinforcement Learning的课程和资料
首推 AlphaGo 团队的 Leader — David silver 的 Reinforcement Learning ,我最开始学DRL的时候就是看他的视频和slide,真的很赞。
以及Berkeley 的 DRL : CS 294 Deep Reinforcement Learning, Fall 2017
另外,RL的鼻祖Sutton最近也在干大事,正在写Reinforcement Learning: An Introduction 的 第二版
其实学习RL最好的 Demo 就是 用 强化学习来 玩 2048 了,我们lab有世界上第一个用 TD learning 玩出 65536 的 AI,另外如果有机会想写一个关于RL的专栏,主要是DeepMind 的 paper,不过太菜了估计写了也没人看
* 重现看这里
* 超级精简版code 看这里
终于被你滚到底了
好,回到正题,今天和妹纸讲了如下这些东西。
花花:先来看个有意思的把,既然今天我们讲VGG,就先用别人训练好的VGG模型来进行图片分类的预测吧。
妹纸:好啊好啊,快给我看。
花花:下面你看我写好的一个 程序,是用别人已经训练好的weight,来预测图片。
import kerasfrom keras.applications.vgg19 import VGG19from keras.applications.vgg19
import preprocess_input, decode_predictionsfrom PIL
import Image
import numpy as np
import os.pathmodel = VGG19(weights=‘imagenet‘)
while True:
img_path = input(‘Please input picture file to predict ( input Q to exit ): ‘)
if img_path == ‘Q‘:
break
if not os.path.exists(img_path):
print("file not exist!")
continue
try:
img = Image.open(img_path)
ori_w,ori_h = img.size
new_w = 224.0;
new_h = 224.0;
if ori_w > ori_h:
bs = 224.0 / ori_h;
new_w = ori_w * bs
weight = int(new_w)
height = int(new_h)
img = img.resize( (weight, height), Image.BILINEAR )
region = ( weight / 2 - 112, 0, weight / 2 + 112, height)
img = img.crop( region )
else:
bs = 224.0 / ori_w;
new_h = ori_h * bs
weight = int(new_w)
height = int(new_h)
img = img.resize( (weight, height), Image.BILINEAR )
region = ( 0, height / 2 - 112 , weight, height / 2 + 112 )
img = img.crop( region )
x = np.array( img, dtype = ‘float32‘ )
x[:, :, 0] = x[:, :, 0] - 123.680
x[:, :, 1] = x[:, :, 1] - 116.779
x[:, :, 2] = x[:, :, 2] - 103.939
x = np.expand_dims(x, axis=0)
results = model.predict(x)
print(‘Predicted:‘, decode_predictions(results, top=5)[0])
except Exception as e:
pass
我们用拼图,老虎,猫 三张图片来测试一下:
可以看到,结果如下,第一张预测出来是jigsaw_puzzle,概率是99%,第二张是老虎,第三张是一种猫,看起来我们的model还是不错的,呜呜。
花花:嗯,我们用到的这个model就是VGG19了,我给你稍微讲下这个架构吧。
妹纸:嗯嗯,好的,这个看起来挺好玩的。
Vgg Network: Very Deep Convolutional Networks for Large-Scale Image Recognition
花花:VGG是在2014年的 ILSVRC localization and classification 两个问题上分别取得了第一名和第二名的网络架构,也是一个具有里程碑意义的CNN架构,其中最令人震惊的就是它的深度,在当时看来,绝对算一个非常非常深的网络架构,VGG16,16层,而我要和你讲的VGG19,有19层之多。不过现在看来就很一般了啦,下次给你讲Residual Network你就知道网络可以多深了。
妹纸:咦。为什么叫VGG19呢?
花花:哦,是因为VGG是Visual Geometry Group 这个实验室发明的,所以就叫VGG了,就像我们lab的围棋程序,刚好也叫我们lab的名字。
妹纸:哦哦,这样啊。
花花:来看它的架构
最后一个就是VGG19,总共19层,包括16层卷积层和最后的3层全连接层。中间和往常差不多,用的是池化层,最后经过softmax。
我们把它稍微改一下,因为原本是用的ImageNet的dataset,预测是1000类,这里我们需要换成适合cifar10的架构,嗯。
如上图所示,我将会进行这几个实验:
在使用朴素的random init方式,在GTX1060的训练时间大概是3小时10分钟,效果并不好,只有90.99%和92.38%
然后我们使用retrain的方式,就是用原来在ImageNet 上练好的weight作为初始化,然后再进行训练,Keras里面读取weight方法如下:
# load pretrained weight from VGG19 by name
model.load_weights(filepath, by_name=True)
效果似乎还是不太理想啊。再改进点什么嘛??
花花:最后,我们再加上BN(Batch Normalization), 同样,加上BN后训练时间(GTX1060下测试)从3小时10分钟变为了4小时。
不过我们惊奇地发现,准确率再次提高了。
当 WD = 0.0015 的时候,效果最好,嗯,毕竟有效防止了overfitting嘛。
妹纸:哇,到94%了,好棒。
……
……
妹纸:晚上和舍友去看电影,我就先去吃饭了噢。
花花:嗯嗯,那明天再聊咯。。。。
精选干货|近半年干货目录汇总
深度学习的这些坑你都遇到过吗?神经网络11大常见陷阱及应对方法
干货| 台湾大学林轩田机器学习基石课程学习笔记8 -- Noise and Error
欢迎关注公众号学习交流~
标签:noi 课程 drl ima 原来 翻译 ras 建议 语音
原文地址:https://blog.51cto.com/15009309/2553785