课程一 神经网络和深度学习

1. 深度学习概论

1.2 什么是神经网络

从Housing Price Prediction 讲起 => regression 回归可以看成一个简单的单层,一个神经元的神经网络

1.3 用神经网络进行监督学习

1.4 为什么深度学习会兴起

  • Data
  • Computation
  • Algorithms: 比如sigmod -> relu 使得计算gradient descent更快

2. 神经网络基础

2.1 二分分类

some notations ...

2.2 logistic 回归

logistic 回归就是一个浅层(shallow, 实际上一个hidden layer也没有,只有一个output layer)神经网络

Give\ x,\ want\ \hat y = P(y=1|x);\  (0<=y<=1)

parameters:w\in \mathbb{R},b\in \mathbb{R}

Output:\hat y=\sigma(w^tx+b); find\ w,b

\sigma(z)=\frac{1}{1+e^{-z}}复制代码

2.3 logistic回归损失函数

使用这个损失函数便于计算gradient descent

Loss(Error)\ Function : L(\hat y,y) = - (y\log\hat y + (1-y)\log(1-\hat y)) 

Cost\ Function:  J(w,b) = 1/m *\sum_{i=1}^m  L(\hat y^i,y^i) = -\frac{1}{m}*\sum_{i=1}^m(y^i\log\hat y^i + (1-y^i)\log(1-\hat y^i)) 

复制代码

2.4 梯度下降法

w := w - \alpha \frac{dJ(w,b)}{dw};\  (\alpha:learning\ rate)

b := b - \alpha \frac{dJ(w,b)}{db}复制代码

2.7 计算图

反向传播:其实有点类似dp算法,后往前算gradient descent, 这样有些算的结果可以复用,计算效率大大提高

2.9 logistic回归中的梯度下降

\text {图里面的a是之前的} \hat y复制代码

分数求导:结果的分子=原式的分子求导乘以原式的分母-原式的分母求导乘以原式的分子,结果的分母=原式的分母的平方。

2.10 logistic回归on m个examples

2.11 向量化

向量化计算更高效

import numpy as np
import timea = np.random.rand(1000000)
b = np.random.rand(1000000)
tic = time.time()
c = np.dot(a, b)
print("cost " + str((time.time() - tic)*1000) + "ms")
复制代码

2.13 向量化的logistic回归

2.15 python中的广播

2.16 python/numpy中的向量说明

不要使用秩为1的向量,显式使用1*n或者n*1的向量, 使用reshape和assert来确保维度符合预期

import numpy as np
a = np.random.randn(5) #do not use
print("a:",a.shape,"\n", a)
b = np.random.randn(5, 1)
print("b:",b.shape,"\n", b)
c = np.random.randn(1, 5)
print("c:",c.shape,"\n", c)a = a.reshape(5, 1)
assert(a.shape == (5, 1))
复制代码

3. 浅层神经网络

3.1 神经网络概览

3.2 神经网络表示

3.5 向量化实现的解释

3.6 激活函数

3.7 为什么使用非线性的激活函数

如果是线性的 经过几层之后还是线性的,多层就没有意义了

3.8 激活函数的导数

3.9 激活函数的导数

3.11 随机初始化

多神经元为何W不能初始化为0矩阵

4. 深层神经网络

4.1 深层神经网络

4.3 核对矩阵的维数

4.7 参数VS超参数

课程二 改善深层神经网络:超参数调试、正则化以及优化

1. 深度学习的实用层面

1.1 训练、开发、测试集

1.2 偏差、方差

1.4 Regularization

lamda 很大会发生什么:

1.6 Drop Out Regularization

1.8 其他Regularization方法

early stopping

1.9 Normalizing inputs

1.10 vanishing/exploding gradients

1.11 权重初始化

1.13 Gradient Check

1.14 Gradient Check Implementation Notes

2. 优化算法

2.1 Mini-batch gradient descent

batch-size 要适配CPU/GPU memory

2.3 Exponentially weighted averages

移动平均可抚平短期波动,将长线趋势或周期显现出来。数学上,移动平均可视为一种卷积。

Bias correction

2.6 Gradient Descent with Momentum

2.7 RMSprop

2.8 Adam优化算法

Momentum + RMSprop

2.9 Learning rate decay

逐步减小Learning rate的方式

2.10 局部最优的问题

在高维空间,容易遇到saddle point但是local optima其实不容易遇到

plateaus是个问题,learning会很慢,但是类似adam的方法能减轻这个问题

3. 超参数调试、batch正则化和程序框架

3.1 搜索超参数

  1. Try random values: don't use a grid
  2. Coarse to fine

3.4 Batch Normalization

一个问题,在回归中可以normalization在神经网络中可否做类似的事情

通过lamda和beta可以控制mean和variance

3.6 Batch Normalization为什么有效

  1. By normlization values to similar range of values, it speed up learning
  2. Batch normlization reduces the problem of input values(对于每一层) changing
  3. Has a slight regulazation effect (like dropout, it adds some noice to each hidden layer's activations)

3.7 Batch Normalization at test time

使用训练中加权指数平均算出来的mean,variance来test

3.8 Softmax regression

多类,而不是二类。generazation of logistic regression.

3.10 深度学习框架

课程三 结构化机器学习项目

1. 机器学习(ML)策略(1)

1.1 为什么是ML策略

1.2 正交化

  1. Fit training set well in cost function
  • If it doesn’t fit well, the use of a bigger neural network or switching to a better optimization algorithm might help.
  1. Fit development set well on cost function
  • If it doesn’t fit well, regularization or using bigger training set might help.
  1. Fit test set well on cost function
  • If it doesn’t fit well, the use of a bigger development set might help
  1. Performs well in real world
  • If it doesn’t perform well, the development test set is not set correctly or the cost function is not evaluating the right thing

1.3 单一数字评估指标

关于accuracy/precision/recall/F1

1.4 满足和优化指标

1.5 训练/开发/测试集划分

1.6 开发集合测试集的大小

1.7 什么时候该改变开发/测试集和指标

1.8 为什么是人的表现

1.9 可避免偏差

1.10 理解人的表现

1.11 超过人的表现

1.12 改善你的模型的表现

2. 机器学习(ML)策略(2)

2.1 进行误差分析

2.2 清楚标注错误的数据

2.3 快速搭建你的第一个系统,并进行迭代

2.4 在不同的划分上进行训练并测试

2.5 不匹配数据划分的偏差和方差

2.6 定位数据不匹配

2.7 迁移学习

2.8 多任务学习

2.9 什么是端到端的深度学习

2.10 是否要使用端到端的深度学习

课程四 卷积神经网络

1. 卷积神经网络

1.1 计算机视觉

真实处理的图片很大->卷积神经网络

1.2 边缘检测示例

filter(kernel)的选择有很多种,或者把filter本身当作参数来学习.

1.4 Padding

1.5 卷积步长

1.6 Convolutions over volumes

1.7 单层卷积网络

1.8 简单卷积网络示例

1.9 池化层

1.10 卷积神经网络示例

1.11 为什么使用卷积?

2. 深度卷积网络:实例探究

2.1 为什么要进行实例探究

  • Classic networks:

    • LeNet-5
    • AlexNet
    • VGG
  • ResNet
  • Inception

2.2 经典网络

介绍了三种经典模型:LeNet-5,AlexNet,VGG-16

2.3 残差网络(ResNets, Residual Networks)

2.4 残差网络为什么有用?

2.5 网络中的网络以及 1×1 卷积

1×1 卷积可以压缩或者保持,增加输入层的信道(channel)数量.

2.6 谷歌 Inception 网络简介

2.7 Inception 网络

Inception module -> Inception network

2.8 使用开源的实现方案

2.9 迁移学习

使用他人的模型作为initalization(选择freeze some layers)训练

2.10 数据扩充

  • mirroring
  • random cropping
  • rotating,shearing,local warping...
  • color shifting

2.11 计算机视觉现状

3. 目标检测

3.1 目标定位

3.2 特征点检测

3.3 目标检测

先crop图片训练模型 + slide-window =>计算成本很高

3.4 卷积的滑动窗口实现

一次计算,其实没有slide,比传统的slide-window方式高效很多

3.5 Bounding Box预测

YOLO: grid + 3.1中的算法的卷积实现.

3.6 交并比

IOU - Intersection over Union = SizeOfIntersection/ SizeOfUnion

3.7 非极大值抑制

3.8 Anchor Boxes

3.9 YOLO 算法

3.10 RPN网络

4. 特殊应用:人脸识别和神经风格转换

4.1 什么是人脸识别?

4.2 One-Shot 学习

4.3 Siamese 网络

4.4 Triplet 损失

4.5 面部验证与二分类

4.6 什么是神经风格转换?

4.7 什么是深度卷积网络?

4.8 代价函数

4.9 内容代价函数

4.10 风格代价函数

核心是maximize 各个channel 的 correlation

4.11 一维到三维推广

转载于:https://juejin.im/post/5a6c52b1f265da3e4f0a66d2

Andrew ng 深度学习课程笔记相关推荐

  1. Andrew Ng深度学习课程笔记

    摘要: 本文对Andrew Ng深度学习课程进行了大体的介绍与总结,共包括21个课程. 我最近在Coursera上完成了Andrew Ng导师关于新深度学习的所有课程.Ng在解释术语和概念方面做得非常 ...

  2. Andrew Ng 深度学习课程——序列模型

    主要是记录网易云课堂上的网络课序列模型的笔记 date version comments 2019/10/04 V0.1 Init 文章目录 循环序列模型 模型基础 语言模型和序列生成 梯度消失问题 ...

  3. 手机上的机器学习资源!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>.CS229数学基础等,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成 ...

  4. Deeplearning.ai深度学习课程笔记-在线版

    注意:请点击阅读原文 课程概述 课程视频离线版本可以到github:https://github.com/fengdu78/deeplearning_ai_books 查找下载. 课程地址:https ...

  5. 吴恩达老师的机器学习和深度学习课程笔记打印版

    注意:下载笔记.视频.代码:请点击"阅读原文" 我和同学将吴恩达老师机器学习和深度学习课程笔记做成了打印版,放在github上,下载后可以打印. 公布了深度学习笔记的word和ma ...

  6. 深度学习课程笔记(七):模仿学习(imitation learning)

    深度学习课程笔记(七):模仿学习(imitation learning) 2017.12.10 本文所涉及到的 模仿学习,则是从给定的展示中进行学习.机器在这个过程中,也和环境进行交互,但是,并没有显 ...

  7. 新建网站了!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成了网页版,可以在线阅读 ...

  8. 吴恩达深度学习笔记_Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成了网页版,可以在线阅读 ...

  9. 吴恩达深度学习课程笔记(初步认识神经网络)

    吴恩达深度学习课程笔记1 课程主要内容 1.神经网络与深度学习介绍 2.Improving Deep Neural Networks:超参数调整,正则化,优化方法 3.结构化机器学习工程:比如如何分割 ...

  10. 吴恩达深度学习课程笔记(四):卷积神经网络2 实例探究

    吴恩达深度学习课程笔记(四):卷积神经网络2 实例探究 吴恩达深度学习课程笔记(四):卷积神经网络2 实例探究 2.1 为什么要进行实例探究 2.2 经典网络 LeNet-5 AlexNet VGG- ...

最新文章

  1. 【建模必备】遗传算法应用举例(简单的一元函数优化实例)
  2. Java jar 如何防止被反编译?代码写的太烂,害怕被人发现
  3. Visual Studio2019 应用程序无法正常启动0xc000007b
  4. html登录界面_php实现登录功能
  5. mysql putty 备份_Linux下mysql数据库的备份-putty
  6. 记一次分布式B站爬虫任务系统的完整设计和实施
  7. python的convert_python编程开发之类型转换convert实例分析
  8. WinCE内核裁减(中文字体)及字库和内核的分离
  9. 两间三层小型别墅图片_占地仅120平的现代风别墅,带KTV和健身房,引领时尚新潮流...
  10. SSIS工具的ETL过程,全量ETL和增量ETL过程教程
  11. Linux驱动加载总结
  12. Groovy从入门到精通
  13. 网络工程师面试常见问题:OSPF篇
  14. php实现facebook登陆功能
  15. 仰望星空,脚踏实地 2016
  16. jmeter打开bat文件闪退
  17. wps应用程序实例_有一个WPS Office应用程序实例wps.exe在运行,请关闭后重试 。如何解决?...
  18. 如何查看网页上的图片体积大小或容量大小?
  19. 微信小程序基础之开源项目库汇总
  20. ZZULIOJ 1148: 组合三位数之一

热门文章

  1. synchronized 修饰在 static方法和非static方法的区别
  2. CFS之vruntime记录
  3. Linux kernel中 __bitmap_weight函数的理解
  4. 调用虚拟内存编译时的error处理
  5. kafka rabbitmq优劣对比_17个方面对比Kafka、RabbitMQ、RocketMQActiveMQ分布式消息队列
  6. 指数分布族(The Exponential Family)与广义线性回归(Generalized Linear Model GLM)
  7. 递推算法之平面分割问题总结
  8. 并查集练习--hdu1232poj1611poj2524
  9. mysql 备份恢复 asp_ASP中怎么实现SQL数据库备份、恢复!
  10. python的numpy库中的where_关于numpy.where()函数 返回值的解释