系列文章见: 《回忆AI时代-从图灵机到人工智能》
什么是深度学习
深度学习是一种机器学习方法,采用多层神经网络(称为深度神经网络)模拟人脑的决策机制。深度学习为大多数人工智能 (AI) 应用提供动力,广泛应用于图像识别、语音识别和自然语言处理 (NLP)等领域。 这里的“深度”是:
1 | 输入层(图片像素) |
层数越多,网络就越“深”。
深度学习的演变
2006年,通常被认为是现代深度学习的起点,Geoffrey Hinton发表论文《A Fast Learning Algorithm for Deep Belief Nets》提出逐层预训练方法,解决深层网络训练困难的问题。
2012年,图像识别竞赛中(ImageNet Large Scale Visual Recognition Challenge),Geoffrey Hinton团队开发的AlexNet取得压倒性胜利,错误率传统方法26%,AlexNet15%。从此业界开始关注并投入深度学习,深度学习进入了黄金时代。
案例
Scikit-learn(简称 sklearn)是Python最流行的传统机器学习库之一,适合学习机器学习和神经网络基础。业界有两种常见框架Sklearn和TensorFlow,它们区别:
| 项目 | scikit-learn | TensorFlow |
|---|---|---|
| 学习难度 | 简单 | 较复杂 |
| 聚类 | 支持 | 不擅长 |
| 分类 | 支持 | 支持 |
| 神经网络 | 简单版 | 专业版 |
| 深度学习 | 不支持 | 支持 |
| GPU训练 | 不支持 | 支持 |
| 入门推荐 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
所以推荐用Scikit-learn。
案例
假设:
1 | 输入 x |
数据规律:
| x | y |
|---|---|
| 1 | 2 |
| 2 | 4 |
| 3 | 6 |
| 4 | 8 |
安装Scikit-learn。
1 | pip install scikit-learn |
Python代码:
1 | from sklearn.neural_network import MLPRegressor |
它的网络结构:
1 | 输入层 |
实际上神经网络在不断调整:
1 | 权重(w) |
让预测值越来越接近真实值。