Tensorflow深度学习-第一天

有监督学习 有监督学习的数据集包含了样本𝒙与样本的标签𝒚,算法模型需要学习到映射关系𝑓 : 𝒙 → 𝒚,其中𝑓 代表模型函数,𝜃为模型的参数。在训练时,通过计算模型的预测值𝑓 (𝒙)与真实标签𝒚之间的误差来优化网络参数𝜃,使得网络下一次能够预测更精准。常见的有监督学习有线性回归、逻辑回归、支持向量机、随机森林等。

无监督学习 收集带标签的数据往往代价较为昂贵,对于只有样本𝒙的数据集,算法需要自行发现数据的模态,这种方式叫作无监督学习。无监督学习中有一类算法将自身作为监督信号,即模型需要学习的映射为𝑓 : 𝒙 → 𝒙,称为自监督学习(Self-supervised 𝜃 Learning)。在训练时,通过计算模型的预测值𝑓 (𝒙)与自身𝒙之间的误差来优化网络参数𝜃。常见的无监督学习算法有自编码器、生成对抗网络等。

强化学习 也称为增强学习,通过与环境进行交互来学习解决问题的策略的一类算法。 与有监督、无监督学习不同,强化学习问题并没有明确的“正确的”动作监督信号,算法需要与环境进行交互,获取环境反馈的滞后的奖励信号,因此并不能通过计算动作与“正 确动作”之间的误差来优化网络。常见的强化学习算法有 DQN,PPO 等。

BP算法应用到神经网络

卷积神经网络

循环神经网络

反向传播算法

LSTM

双向循环神经网络

RELU激活函数

Dropout防止过拟合技术

各种算法模型:VGG,GoogLeNet,ResNet,DenseNet。

生成对抗网络

DQN算法

目前在图片识别、目标检测、语义分割等方向,几乎都是基于深度学习端到端地训练,获得的模型 性能好,适应性强。

计算机视觉:

1. 图片识别:

神经网络的输入为图片数据,输出 值为当前样本属于每个类别的概率分布。通常选取概率值最大的类别作为样本的预测类 别。图片识别是最早成功应用深度学习的任务之一,经典的网络模型有 VGG 系列、 Inception 系列、ResNet 系列等。

2. 目标检测:

是指通过算法自动检测出图片中常见物体的大致位置,通 常用边界框(Bounding box)表示,并分类出边界框中物体的类别信息,常见的目标检测算法有 RCNN、Fast RCNN、Faster RCNN、Mask RCNN、SSD、YOLO 系列 等。

3. 语义分割:

通过算法自动分割并识别出图片中的内容,可以 将语义分割理解为每个像素点的分类问题,分析每个像素点的物体的类别信息,常见的语义分割模型有 FCN、U-net、SegNet、DeepLab 系列等。

4. 视频理解:

随着深度学习在 2D 图片的相关任务上取得较好的效 果,具有时间维度信息的 3D 视频理解任务受到越来越多的关注。常见的视频理解任务有 视频分类、行为检测、视频主体抽取等。常用的模型有 C3D、TSN、DOVF、TS_LSTM 等。

5. 图像生成:

通过学习真实图片的分布,并从学习到的分布中采样而获 得逼真度较高的生成图片。目前常见的生成模型有 VAE 系列、GAN 系列等。其中 GAN 系 列算法近年来取得了巨大的进展,最新 GAN 模型产生的图片效果达到了肉眼难辨真伪的程度。

自然语言处理:

1. 机器翻译(Machine Translation) 过去的机器翻译算法通常是基于统计机器翻译模型,这 也是 2016 年前 Google 翻译系统采用的技术。2016 年 11 月,Google 基于 Seq2Seq 模型上 线了 Google 神经机器翻译系统(GNMT),首次实现了源语言到目标语言的直译技术,在多 项任务上获得了 50~90%的效果提升。常用的机器翻译模型有 Seq2Seq、BERT、GPT、GPT-2 等,其中 OpenAI 提出的 GPT-2 模型参数量高达 15 亿个,甚至发布之初以技术安全 考虑为由拒绝开源 GPT-2 模型。

2. 聊天机器人(Chatbot) 聊天机器人也是自然语言处理的一项主流任务,机器自动学习与 人类对话,对于人类的简单诉求提供满意的自动回复,提高客户的服务效率和服务质量 等。常应用在咨询系统、娱乐系统、智能家居等中。

强化学习:

虚拟游戏:相对于真实环境,虚拟游戏平台既可以训练、测试强化学习算法,又可以避 免无关因素干扰,同时也能将实验代价降到最低。目前常用的虚拟游戏平台有 OpenAI Gym、OpenAI Universe、OpenAI Roboschool、DeepMind OpenSpiel、MuJoCo 等,常用的强化学习算法有 DQN、A3C、A2C、PPO 等。

机器人:美国波士顿动力公司在机器人应用中取得喜人的成就,其制造的机器人在复 杂地形行走、多智能体协作等任务上表现良好。

自动驾驶:被认为是强化学习短期内能技术落地的一个应用方 向,很多公司投入大量资源在自动驾驶上,如百度、Uber、Google 无人车等,其中百度的 无人巴士“阿波龙”已经在北京、雄安、武汉等地展开试运营。

学习框架:

TensorFlow 和 PyTorch 框架是业界使用最为广泛的两个深度学习框架, TensorFlow 在工业界拥有完备的解决方案和用户基础,PyTorch 得益于其精简灵活的接口 设计,可以快速搭建和调试网络模型,在学术界获得好评如潮。TensorFlow 2 发布后,弥 补了 TensorFlow 在上手难度方面的不足,使得用户既能轻松上手 TensorFlow 框架,又能无 缝部署网络模型至工业系统。本书以 TensorFlow 2.0 版本作为主要框架,实现深度学习算法。

#求导小分队
import tensorflow as tf
a = tf.constant(1.)
b = tf.constant(2.)
c = tf.constant(3.)
w = tf.constant(4.)

with tf.GradientTape() as tape:# 构建梯度环境 
    tape.watch([w]) # 将w加入梯度跟踪列表
# 构建计算过程,函数表达式
    y = a * w**2 + b * w + c
    
[dy_dw] = tape.gradient(y, [w])
print(dy_dw) # 打印出导数

想要学习的小伙伴最好安装一套Anaconda(感觉自己打得贼溜)软件挺好用的。

使用 Python 语言编写程序的方式非常多,可以使用 ipython 或者 ipython notebook 方式 交互式编写代码,也可以利用 Sublime Text、PyCharm 和 VS Code 等综合 IDE 开发中大型项目。本书推荐使用 PyCharm 编写和调试,使用 VS Code 交互式开发,这两者都可以免费使用,用户自行下载安装,并配置 Python 解释器。限于篇幅,不再赘述。直接拷贝过来的。

本人暂时准备直接jupyter notebook。

然后就是其实一般神经网络都有观察误差的存在。

所以需要通过采样多组数据样本,然后找出一条“最好”的直线,使得它尽可能地让所有采样点到该直线的误差(Error,或损失 Loss)之和最小。

今天意外频发,暂时就这样吧。

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章