文章目录
本文主要学习深度学习的一些基础知识,了解入门
背景
深度学习的发展趋势
下图是Google使用深度学习的项目变化趋势:
深度学习的发展史
回顾一下deep learning的历史:
- 1958: Perceptron (linear model)
- 1969: Perceptron has limitation
- 1980s: Multi-layer perceptron
- Do not have significant difference from DNN today
- 1986: Backpropagation
- Usually more than 3 hidden layers is not helpful
- 1989: 1 hidden layer is “good enough”, why deep?
- 2006: RBM initialization (breakthrough)
- 2009: GPU
- 2011: Start to be popular in speech recognition
- 2012: win ILSVRC image competition
感知机(Perceptron)非常像我们的逻辑回归(Logistics Regression)只不过是没有sigmoid
激活函数。09年的GPU的发展是很关键的,使用GPU矩阵运算节省了很多的时间。
深度学习的三个步骤
我们都知道机器学习有三个step,那么对于deep learning呢?其实也是3个步骤~~如下图所示:
- Step1:神经网络(Neural network)
- Step2:模型评估(Goodness of function)
- Step3:选择最优函数(Pick best function)
那对于深度学习的Step1
就是神经网络(Neural Network)
Step1:神经网络(Neural Network)
神经网络(Neural network)里面的节点,类似我们的神经元。
神经网络也可以有很多不同的连接方式,这样就会产生不同的结构(structure)。
那都有什么连接方式呢?其实连接方式都是你手动去设计的:
完全连接前馈神经网络
概念:前馈(feedforward)也可以称为前向,从信号流向来理解就是输入信号进入网络后,信号流动是单向的,即信号从前一层流向后一层,一直到输出层,其中任意两层之间的连接并没有反馈(feedback),亦即信号没有从后一层又返回到前一层。
- 当已知权重和阈值时输入 ( 1 , − 1 ) (1,-1) (1,−1)的结果
- 当已知权重和阈值时输入 ( 0 , 0 ) (0,0) (0,0)的结果
所以可以把整个神经网络(neural network)看成是一个函数(function),如果神经网络中的权重和阈值都知道的话,就是一个已知的函数(也就是说,如果我们把参数都设置上去,这个神经网络其实就是一个函数)。他的输入是一个向量,对应的输出也是一个向量。
如果只是定义了一个神经网络的结构,但是不知道权重还有阈值怎么办呢?
给了结构就相当于定义了一个函数集(function set)
不论是做回归模型(linear model)还是逻辑回归(logistics regression)都是定义了一个函数集(