理解深度学习之深度学习简介


Posted in Python onApril 14, 2021

机器学习

在吴恩达老师的课程中,有过对机器学习的定义:

ML:<P T E>

P即performance,T即Task,E即Experience,机器学习是对一个Task,根据Experience,去提升Performance;

在机器学习中,神经网络的地位越来越重要,实践发现,非线性的激活函数有助于神经网络拟合分布,效果明显优于线性分类器:

y=Wx+b

常用激活函数有ReLU,sigmoid,tanh;

sigmoid将值映射到(0,1):

理解深度学习之深度学习简介

tanh会将输入映射到(-1,1)区间:

理解深度学习之深度学习简介

#激活函数tanh
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
def tanh(x):
    return (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
X=np.linspace(-5,5,100)
plt.figure(figsize=(8,6))
ax=plt.gca()#get current axis:获取当前坐标系
#将该坐标系的右边缘和上边缘设为透明
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#设置bottom是x轴
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
#设置left为y轴
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
ax.plot(X,tanh(X),color='blue',linewidth=1.0,linestyle="-")
plt.show()

理解深度学习之深度学习简介

开源框架

当神经网络层数加深,可以加强捕捉分布的效果,可以简单认为深度学习指深层神经网络的学习;

当前有两大主流的深度学习框架:Pytorch和Tensorflow;

Pytorch支持动态计算图,使用起来更接近Python;

Tensorflow是静态计算图,使用起来就像一门新语言,据说简单易用的keras已经无人维护,合并到tensorflow;

一个深度学习项目的运行流程一般是:

v理解深度学习之深度学习简介

深度学习计算重复且体量巨大,所以需要将模型部署到GPU上,GPU的设计很适合加速深度学习计算,为了便于在GPU上开展深度学习实验,人们开发了CUDA架构,现在大部分DL模型都是基于CUDA加速的

关于CUDA

1.什么是CUDA?

CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

2.什么是CUDNN?

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中。

方向概览

当前计算机视觉的发展相对于自然语言处理更加成熟,NLP的训练比CV更耗费资源,CV模型相对较小;

在CV方向:

1.图像分类(ResNet,DenseNet)

  1. 目标检测ObjectDetection
  2. 风格迁移StyleTransfer
  3. CycleGAN:比如图像中马到斑马,也可以从斑马返回马
  4. ImageCaptioning:从图像生成描述文本,一般用CNN获得feature,再输入RNN获得文本

2.在NLP方向

  1. 情感分析:分类影评数据
  2. QuestionAnswering:一段问题->给出答案
  3. Translation:可以用OpenNMT-py,OpenNMT-py是开源的seq->seq模型
  4. ChatBot聊天机器人,基于QuestionAnswering,目前刚起步

另外还有强化学习Deep Reinforcement Learning,从简单的打砖块游戏到著名的阿尔法Go;

以及预训练语言模型:给一段话,让机器继续说下去,比如BERT,GPT2;

迁移学习

在CV中,NN的低层可以提取位置信息(边,角等精细信息),高层提取抽象信息,所以低层的网络可以反复使用,更改高层再训练以适用其他任务

到此这篇关于深度学习简介的文章就结束了,以后还会不断更新深度学习的文章,更多相关深度学习文章请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python collections模块实例讲解
Apr 07 Python
Python模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
Python文件操作,open读写文件,追加文本内容实例
Dec 14 Python
python记录程序运行时间的三种方法
Jul 14 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
python socket通信编程实现文件上传代码实例
Dec 14 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
基于virtualenv创建python虚拟环境过程图解
Mar 30 Python
Python填充任意颜色,不同算法时间差异分析说明
May 16 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 Python
浅析Python中的套接字编程
Jun 22 Python
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
深度学习小工程练习之垃圾分类详解
python3美化表格数据输出结果的实现代码
Apr 14 #Python
Python生成九宫格图片的示例代码
用Python写一个简易版弹球游戏
python urllib库的使用详解
Apr 13 #Python
用Python将库打包发布到pypi
You might like
第十四节--命名空间
2006/11/16 PHP
PHP合并数组+与array_merge的区别分析
2010/08/01 PHP
PHP调试函数和日志记录函数分享
2015/01/31 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
JS实现图片预加载无需等待
2012/12/21 Javascript
js charAt的使用示例
2014/02/18 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
Python获取任意xml节点值的方法
2015/05/05 Python
python3实现UDP协议的服务器和客户端
2017/06/14 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
python书籍信息爬虫实例
2018/03/19 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
Python算法中的时间复杂度问题
2019/11/19 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
法学专业本科生自荐信范文
2013/12/17 职场文书
初级会计求职信范文
2014/02/15 职场文书
闪闪红星观后感
2015/06/08 职场文书