Fast.AI
Fast.AI 2018年度的深度学习课程,分为两部分,共14课。第一部分讲授利用神经网络实现图片分类(单分类、多分类)、回归预测、文本自动生成等。第二部分讲授目标识别、机器翻译、GAN、风格迁移、图像增强、图像分割等。
suredied
这个作者很懒,什么都没留下…
展开
-
第14篇 Fast AI深度学习课程——超分辨与图像分割
一、超分辨超分辨指的是由低分辨率的图片获得高分辨率的图片。1. 准备数据集数据集无需标注,将图像进行降采样即可获得配对的高低分辨率的图像。同样不需数据标注的应用场景还有:图像旋转、图像去噪、黑白图像着色等。为定义合适的Dataset,我们去fastai.dataset.py中找到一个和需求相接近的。其中有一个FilesDataset,其接受文件名,数据集的输入x为图像。我们继承该类,并覆写...原创 2019-01-05 08:31:32 · 4300 阅读 · 2 评论 -
第13篇 Fast AI深度学习课程——风格迁移
一、阶梯化学习速率在前述课程中,我们使用了重启学习速率、三角化学习速率等技巧,以实现更快的收敛、更稳定的泛化。上述技巧均是通过设置相应参数,来实现整个训练过程的学习速率的变化。事实上,一个更通用的方法,是在不同的训练阶段(训练阶段由epoch序列指明)使用指定的学习速率。(这一想法可通过调用多次fit()函数,每次使用不同的学习速率来达到;但更便捷的方式是提供一套API。)Fast.AI提供了实...原创 2019-01-05 08:31:03 · 1505 阅读 · 0 评论 -
第12篇 Fast AI深度学习课程——DarkNet、GAN
本节课程将介绍很火的对抗生成网络。由于这一网络结构很新,目前(课程发布时,18年4月份)Fast.AI尚未提供相应的封装,因此需要使用Pytorch的数据结构来构建。在构建GAN之前,我们将在CIFAR10数据上,仅使用Pytorch的数据结构,构建结构较简单的Darknet,以展示利用Pytorch搭建网络的思路。一、Darknet1. 数据准备下载后解压。由于train文件夹下各类数据都...原创 2019-01-05 08:30:25 · 1950 阅读 · 2 评论 -
第11篇 Fast AI深度学习课程——机器翻译
在上节课程中,我们使用语言模型对IMDB影评进行了情感分析。对于语言模型而言,使用的神经网络是一个seq2seq的网络,即输入和输出均为序列;每输入一个单词,就需输出一个单词,因此输入输出的序列长度是一致的。对于影评分析,是一个由字词序列得到单一分类结果的网络,即为seq2one的网络。本节将介绍由法语到英语的机器翻译,该类型网络也是seq2seq,但与语言模型不同之处在于,其在读入整个字符序列后...原创 2019-01-05 08:28:50 · 1295 阅读 · 0 评论 -
第10篇 Fast AI深度学习课程——构建语言模型及文本情感分析
在学习了目标识别的网络构建与训练之后,我们总结一个模型的三元素为:数据、网络架构、损失函数。而采用的一般策略为迁移学习,即在已有的网络基础上,增加附加层;训练时首先冻结已有的网络的参数,训练附加层的系数;然后使用阶梯化的学习速率,训练整个网络。在本节及下节课程中,我们将学习神经网络在自然语言处理方面的应用,包括构建语言模型、文本的情感分析、机器翻译等。在这一部分,我们所使用的技术策略同目标识别的...原创 2019-01-05 08:29:52 · 2961 阅读 · 7 评论 -
第9篇 Fast AI深度学习课程——多目标识别与定位
一、一个模型同时实现单目标识别与定位在上一节中,我们先构建了一个分类网络,用于图片中最大目标的类别划分;然后构建了一个用于输出目标坐标的网络。我们尚未将两个网络联系起来。但事实上,两个网络的架构十分相似(都是基于resnet34)。那么能否去除这种冗余,使用一个网络同时实现目标分类与定位呢?本部分将按照:准备数据—构建网络—定义优化目标这一分解步骤,来展示针对应用场景进行建模的通用流程。1. ...原创 2018-12-05 22:57:50 · 8176 阅读 · 2 评论 -
第8篇 Fast AI深度学习课程——单目标识别与定位
一、前情回顾与课程展望本系列课程的第一部分——神经网络入门与实践已结束,在该部分的1-7课中,我们通过图像分类网络(包括多类别分类)、时间序列处理、影评数据情感分析(包括构建语言模型、协同滤波)等实例,学习了Fast.AI的API,熟悉了使用神经网络解决实际问题的流程,掌握了网络调参中的常用技巧,要点如下:1. 迁移学习要得到一个可用的模型,其实并不需要从零开始,可以利用已在其他数据集上训练...原创 2018-12-05 22:36:33 · 2390 阅读 · 0 评论 -
第7篇 Fast AI深度学习课程——卷积神经网络的实现与改进
本节将基于CIFAR-10数据,阐述卷积神经网络的构建过程。之所以选择CIFAR-10数据,是因为其数据集很小,而且其中的图片也很小,方便开发阶段的快捷测试。...原创 2018-08-17 23:23:08 · 1515 阅读 · 0 评论 -
第6篇 Fast AI深度学习课程——循环神经网络
本节将继续就前面课程中的应用实例介绍Fast.AI的具体实现,并深入介绍相关原理。主要内容包括:类型变量的内置矩阵含义分析。随机梯度算法的实现。循环神经网络(RNN)的原理与实现。一. 使用PCA对类型变量的内置矩阵进行分析前面课程讲述了如何将类型变量映射为连续型向量。那么这些连续型向量又都表征了数据的什么特征呢?这可通过可视化技术进行分析。但由于向量维度可能太高,而我...原创 2018-08-16 22:52:25 · 1512 阅读 · 0 评论 -
第5篇 Fast AI深度学习课程——推荐算法之协同滤波
本节课的主要内容是针对使用协同滤波算法进行电影评分预测的应用场景,分别使用Excel、Fast.AI、Pytorch、自主构建的网络,来实现相应功能。所用数据为MovieLens数据,其中中的评分表存储了用户id,电影id,以及5星制的评分。数据格式如下:图 1. 电影评分数据组织形式一. 使用Excel与矩阵分解算法实现推荐系统整理为以用户id为索引的评分表,格...原创 2018-08-14 22:00:29 · 1986 阅读 · 0 评论 -
第4篇 Fast AI深度学习课程——深度学习在回归预测、NLP等领域的应用
前面几节叙述了卷积神经网络在图像分类中的应用,本节将描述深度学习网络在诸如回归预测、自然语言处理等领域的应用。主要内容如下:Drop Out策略,以及Fast.AI附加层架构分析。结构化时间序列的处理与预测。IMDB影评倾向性分析。Drop Out策略,以及Fast.AI附加层架构分析Drop Out策略是一种避免过拟合的有效手段。在Fast.AI框架下,通过设置分类器构...原创 2018-08-13 23:35:26 · 9052 阅读 · 1 评论 -
第3篇 Fast AI深度学习课程——卷积神经网络结构概论与多标签图像分类
第二节课中,讲述了提高图像分类网络准确率的若干手段,如数据修饰、学习速率重置、参数微调等。本节课将介绍卷积神经网络的基本架构,多标签图像分类,并演示如何将结果提交到Kaggle上。主要内容如下:如何悄没声儿地把自己挂在Kaggle竞赛的leader board上。如何对单一图像进行分类。卷积网络基本结构。多标签卫星遥感图像分类。向Kaggle提交结果1. 生成测试集的各类...原创 2018-06-27 22:56:51 · 4110 阅读 · 1 评论 -
第2篇 Fast AI深度学习课程——图像分类网络调优
在第一节课中,在Dogs vs. Cats数据集上,设置了一个ResNet34的网络,并通过学习速率选取方法,以及设置数据遍历次数为2,获得了一个准确率如下的网络: Epoch trn_loss val_loss accuracy 0 0.052014 0.028396 0.99 1 0.049761 0.028705 0.9885...原创 2018-06-27 22:14:29 · 6937 阅读 · 0 评论 -
第1篇 Fast AI深度学习课程——快速构建图像分类网络
本节课程将针对Kaggle竞赛中的Dogs vs. Cats,利用Fast AI搭建一个图像分类器。视频课程对应的Notebook是lesson1.ipynb中的改变学习速率及之前的部分。主要内容是:利用Fast AI搭建图片分类网络。如何选择学习速率。事实上,利用Fast AI搭建网络,然后训练预测,是一件相对简单的事情,简单到只需要三行代码就可实现。data = ImageC...原创 2018-06-24 07:31:03 · 3882 阅读 · 1 评论 -
第0篇 Fast AI深度学习课程——搭建本地环境
接触深度学习已经接近1年,零零散散看了一些书目和教程。但真正面对实际问题时,心里还是很虚,总感觉无从下手。直到看到了一个公开教程Fast AI deep learning,才发现利用深度学习解决实际问题,并不需要多复杂的知识体系。仅需像搭积木一样把已有的轮子堆叠起来,再加上一些tricks,就能得到一个看得过去的解决方案。工程嘛,先解决有无问题,后面才是万恶之源——无穷无尽地优化。Fast AI的...原创 2018-06-19 23:50:12 · 11353 阅读 · 5 评论