tensorflow学习

author author     2022-08-10     154

关键词:

改系列只为记录我学习 udacity 中深度学习课程!!

1. 整个课程分为四个部分,如上图所示。

技术分享

第一部分将研究逻辑分类器,随机优化以及实际数据训练。

第二部分我们将学习一个深度网络,和使用正则化技术去训练一个更大的模型

第三部分我们将深入研究图像和卷积模型

第四部分我们将学习文本和序列,我们将训练嵌入和递归模型

 

 

 

 

 

 

 

 

2. 课程将注重分类问题的研究

技术分享

分类问题:典型的情况是你有很多样本,我们称为训练数据集,我们已经把他们归类了。

现在有一个全新的样本,你的目标是要指出这个样本属于哪一类?

 

 

 

 

 

 

3. 机器学习中不只是分类问题,但分类是整个机器学习的基石!

技术分享 技术分享技术分享

第二张图中,如果我们想做到行人检测,我们可以设计一个分类器将图中的小块分为行人/非行人两类,当分类器输入行人时,就要告诉我们行人的位置。

第三张图中,如果我们想做到网页搜索,我们可以使分类器接收成对的搜索请求,网页的输出则是相关/不相关两类。

4. 逻辑分类器是一种线性分类器

它接收输入X,比如图片的像素,对输入执行一个线性函数来生成预测,称为评分函数,该函数就是一个巨大的矩阵乘法。技术分享

其中 W 是权重weights, b 是偏置项bias.

机器学习的目的就是为了找到一 W&b 使得我们的预测结果表现的非常好。

 

 

 

 

技术分享

 

我们如果用上面的结果来执行分类呢?

我们将这些结果转化成概率,这将使得正确的分类概率接近于1,不正确的接近于0.

 

 

 

技术分享

 

我们将结果转化为概率的方法是使用一个 Softmax 函数

我们将这些结果转化成概率,这将使得正确的分类概率接近于1,不正确的接近于0.

 

 

 

 

下面是在python中实现 softmax 函数的代码,值得注意的是当线性函数输出数量级较大时 softmax 函数 概率区别度越高,反之乐接近于平均分布。

技术分享
#coding=utf-8
"""Softmax."""
# 假设线性函数输出为三个类别值,设计softmax函数给输出打分,获得分类概率
scores = [3.0, 1.0, 0.2]

import numpy as np

def softmax(x):
    """Compute softmax values for each sets of scores in x."""

    return np.exp(x) / np.sum(np.exp(x), axis=0)


print(softmax(scores))

# Plot softmax curves
import matplotlib.pyplot as plt
x = np.arange(-2.0, 6.0, 0.1)
scores = np.vstack([x, np.ones_like(x), 0.2 * np.ones_like(x)])

plt.plot(x, softmax(scores).T, linewidth=2)
plt.show()
View Code

5. One-Hot编码

技术分享目的是使得正确的类别得分为1,不正确的为0

 

 

 

 

 

 

 

 

6. cross-entropy loss

技术分享同时我们将使用交叉熵损失函数来量化预测得到的分类标签的得分与真实标签之间的一致性。

                技术分享即     技术分享

 

技术分享 我们的目的就是找到一对合适的 W 和 b 最小化损失函数。

该线性分类问题就转化成了一个数据最优化的问题,在最优化的过程中,通过更新评分函数的参数来最小化损失函数值。

最简单的方法就是梯度下降法,对损失函数的每一个变量求偏导,然后不断更新变量,直到达到局部最优。

技术分享

7. 正则化输入和初始权重

输入数据过大或者过小都很严重影响我们的数值计算过程,所以我们要尽量将数据正则化为均值为0同方差的数据。

以图像为例,我们可以这么做:

技术分享

这并没有改变你的图像信息,而且更利于数值优化。

在梯度下降过程众,你也会想要你的权重 W 和偏置 b 初始化在一个足够好的开始点。

比如,我们的参数可以从均值为0,标准差为sigma 的高斯分布中随机抽取。sigma的值决定了最优化过程中,在初始点你输出的数量级,通过softmax函数后,也将决定你初始化概率分布的峰值。

一个大的sigma将决定你的初始概率分布有一个较大的峰值,一个小的sigma则使得你的概率分布是不确定的。通常比较好的是开始于一个小的不确定的分布,所以选一个小的sigma。

总结来说,我们得到我们的训练数据后,先将这些数据标准化为均值为0方差一致的数据。然后我们把他乘以 权重 W 加上偏置项 b,权重初始化为随机权重。然后我们使用softmax函数得到概率,使用交叉熵损失计算整个训练数据上的平均损失。然后我们使用神奇的最优化包计算这个损失函数对权重和偏差的倒数,接着沿导数相反方向更新权重和偏差。重复这个过程,直到损失函数达到极小值(局部最优)。

 

 

 

 

 

 

 

 

 

 

 

tensorflow学习笔记3:tensorboard可视化学习

TensorBoard简介Tensorflow发布包中提供了TensorBoard,用于展示Tensorflow任务在计算过程中的Graph、定量指标图以及附加数据。大致的效果如下所示, TensorBoard工作机制TensorBoard通过读取TensorFlow的事件文件来运行。TensorFlow的事件文件... 查看详情

tensorflow学习1

...对未来还是充满了希望的,至此从2017年11月左右开始接触tensorflow,一直的学习都比较间断,但是还是做了一些实际的实验的使用,但是深知自己对于tensorflow的理解的并不是很深入,再此之前学习过C++和相应的算法,和Python的一些... 查看详情

tensorflow实现迁移学习

此例程出自《TensorFlow实战Google深度学习框架》6.5.2小节卷积神经网络迁移学习。 数据集来自http://download.tensorflow.org/example_images/flower_photos.tgz ,及谷歌提供的Inception-v3模型https://storage.googleapis.com/download.tensorflow 查看详情

《tensorflow实战google深度学习框架》pdf一套四本+源代码_高清_完整

 TensorFlow实战热门Tensorflow实战书籍PDF高清版一套共四本+源代码,包含《Tensorflow实战》、《Tensorflow:实战Google深度学习框架(完整版)》、《TensorFlow:实战Google深度学习框架(第2版)》与《TensorFlow技术解析与实战》,不能错过的... 查看详情

tensorflow实战-tensorflow和其他深度学习框架的对比-第2章

2TensorFlow和其他深度学习框架的对比182.1主流深度学习框架对比182.2各深度学习框架简介20TensorFlowTensorFlow是相对高阶的机器学习库,用户?方便地用它设计神经网络结构,而不必为了追求高效率的实现亲自写C++或者CUDA代码。TensorFlo... 查看详情

tensorflow实现迁移学习

此例程出自《TensorFlow实战Google深度学习框架》6.5.2小节卷积神经网络迁移学习。数据集来自http://download.tensorflow.org/example_images/flower_photos.tgz,及谷歌提供的Inception-v3模型https://storage.googleapis.com/download.tensorflow.org/ 查看详情

tensorflow学习资料

1.TensorFlow官方文档中文版:http://wiki.jikexueyuan.com/project/tensorflow-zh/2.softmax回归简单应用(Tensorflow入门):http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_beginners.html  查看详情

《tensorflow实战google深度学习框架(第二版)》学习笔记及书评(代码片段)

《TensorFlow实战Google深度学习框架(第二版)》学习笔记文章目录《TensorFlow实战Google深度学习框架(第二版)》学习笔记写在前面1.TensorFlow图像处理函数学习总结2.TensorFlow图像预处理完整样例3.TensorFlow多线程输入... 查看详情

ai常用框架和工具丨9.深度学习框架tensorflow

深度学习框架TensorFlow,AI常用框架和工具之一。理论知识结合代码实例,希望对您有所帮助。文章目录环境说明一、TensorFlow简介1.1TensorFlow是什么?1.2TensorFlow发展过程1.3TensorFlow特点1.4TensorFlow架构二、TensorFlow基础知识2.1TensorFlow... 查看详情

tensorflow学习

Q:WhatisComputationalGraph?A:ComputationalGraphisaseriesofTensorflowoperationsarrangedintoagraphofnodes.Q:HowtobuildingtheComputationalGraph?A:EachNodetakeszerosormoretensorsasinputsandproducesatensor 查看详情

学习《tensorflow实战google深度学习框架(第2版)》中文pdf和代码

TensorFlow是谷歌2015年开源的主流深度学习框架,目前已得到广泛应用。《TensorFlow:实战Google深度学习框架(第2版)》为TensorFlow入门参考书,帮助快速、有效的方式上手TensorFlow和深度学习。书中省略了烦琐的数学模型推导,从实... 查看详情

可能是史上最全的tensorflow学习资源汇总

 在之前的Tensorflow系列文章中,我们教大家学习了Tensorflow的安装、Tensorflow的语法、基本操作、CNN的一些原理和项目实战等。本篇文章将为大家总结Tensorflow纯干货学习资源,非常适合新手学习,建议大家收藏。想要学习更多... 查看详情

导入tensorflow贡献学习python学习

】导入tensorflow贡献学习python学习【英文标题】:Importtensorflowcontriblearnpythonlearn【发布时间】:2018-10-0818:30:38【问题描述】:我是张量流的新手。当我使用importtensorflow.contrib.learn.python.learn使用DNNClassifier时,它给了我一个错误:mod... 查看详情

tensorflow实现学习率衰减

Tensorflow实现学习率衰减觉得有用的话,欢迎一起讨论相互学习~FollowMe参考文献DeeplearningAIAndrewNgTensorflow1.2API学习率衰减(learningratedecay)加快学习算法的一个办法就是随时间慢慢减少学习率,我们将之称为学习率衰减(learningratedecay)概... 查看详情

tensorflow学习

1.Tensorflowlinux环境下安装以及问题处理 http://blog.csdn.net/levy_cui/article/details/51251095  查看详情

tensorflow学习资料

tensorflow学习资料http://www.soku.com/search_video/q_tensorflow?f=1&kb=04112020yv41000__&_rp=1au1hm2di2c7 http://i.youku.com/studyai 查看详情

问题集录--tensorflow深度学习

 TensorFlow深度学习框架Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow。与Caffe、Theano、Torch、MXNet等框架相比,TensorFlow在Github上Fork... 查看详情

tensorflow简易学习[3]:实现神经网络

  TensorFlow本身是分布式机器学习框架,所以是基于深度学习的,前一篇TensorFlow简易学习[2]:实现线性回归对只一般算法的举例只是为说明TensorFlow的广泛性。本文将通过示例TensorFlow如何创建、训练一个神经网络。  主要包括... 查看详情