【深度学习入门】深度学习介绍
1.1 深度学习介绍
学习目标
- 目标
- 知道深度学习与机器学习的区别
- 了解神经网络的结构组成
- 知道深度学习效果特点
- 应用
- 无
区别
特征提取方面
- 机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识
- 深度学习通常由多个层组成,它们通常将更简单的模型组合在一起,通过将数据从一层传递到另一层来构建更复杂的模型。通过大量数据的训练自动得到模型,不需要人工设计特征提取环节。
深度学习算法试图从数据中学习高级功能,这是深度学习的一个非常独特的部分。因此,减少了为每个问题开发新特征提取器的任务。适合用在难提取特征的图像、语音、自然语言领域(NLP)
深度学习应用场景
- 图像识别
- 物体识别
- 场景识别
- 车型识别
- 人脸检测跟踪
- 人脸关键点定位
- 人脸身份认证
- 自然语言处理技术
- 机器翻译
- 文本识别
- 聊天对话
- 语音技术
- 语音识别
深度学习代表算法-神经网络
深度学习(Deep Learning)是机器学习的一个子领域,它利用多层神经网络模型从大量数据中自动学习特征和模式,以执行复杂的任务。这些任务包括但不限于图像识别、语音识别、自然语言处理、推荐系统等。以下是关于深度学习的详细介绍:
深度学习的基本概念
- 神经网络:深度学习的核心是人工神经网络(Artificial Neural Network, ANN),它由许多节点(或称为神经元)组成,这些节点按层次排列。每个神经元接收输入信号,经过激活函数处理后产生输出信号。
- 深度:所谓的“深度”指的是网络中有多个隐藏层。更多的层数意味着网络可以学习到更加抽象和复杂的特征表示。
- 参数学习:通过调整网络中的权重(weights)和偏置(biases),使得网络能够最小化预测结果与真实标签之间的误差。
主要组件
- 输入层:负责接收原始数据,如图像像素值、音频波形等。
- 隐藏层:包含一个或多个中间层,用于提取数据特征。每一层都应用线性变换(加权求和)和非线性激活函数来处理信息。
- 输出层:生成最终预测结果,对于分类问题通常是类别概率分布;对于回归问题则是连续值。
- 损失函数(Loss Function):定义了预测值与实际值之间差异的度量标准,目的是指导模型如何改进其性能。
- 优化算法:如随机梯度下降(SGD)、Adam 等,用来更新网络参数以降低损失函数值。
正则化技术:为了防止过拟合,常用的技术包括 Dropout、L2 正则化等。
常见架构
- 卷积神经网络(CNN):主要用于处理具有网格结构的数据,例如图像和视频。它们擅长捕捉空间局部相关性和平移不变性。
- 循环神经网络(RNN)及其变体(如 LSTM 和 GRU):适用于序列数据,如时间序列分析、文本生成等。它们能够记住过去的信息,并影响当前的输出。
- 自编码器(Autoencoder):用于无监督学习,旨在重建输入数据本身,常用于降维、特征学习和异常检测。
- 生成对抗网络(GAN):由两个部分构成——生成器(Generator)和判别器(Discriminator),两者相互对抗训练,用于生成逼真的合成数据。
应用场景
- 计算机视觉:如图像分类、目标检测、语义分割等。
- 自然语言处理(NLP):如机器翻译、情感分析、问答系统等。
- 语音识别:将语音转换为文本。
- 推荐系统:根据用户行为提供个性化推荐。
- 医疗诊断:辅助医生进行疾病诊断和治疗方案选择。
发展趋势
随着计算能力的提升(特别是 GPU 的广泛应用)、大数据集的可用性以及新算法的不断涌现,深度学习正在快速发展并取得突破性的成果。同时,研究者们也在探索更高效的架构设计、更好的泛化能力和更低的资源消耗,以便让深度学习技术能够在更多领域得到应用。
深度学习的工具和框架
为了简化开发流程并加速研究进展,出现了许多开源的深度学习库和平台:
- TensorFlow:由谷歌开发,支持分布式计算,拥有庞大的社区支持。
- PyTorch:来自Facebook AI Research,以其灵活性和动态图机制受到欢迎。
- Keras:提供了高层API接口,易于上手,可运行于 TensorFlow 或 Theano 之上。
- MXNet:亚马逊主推的框架,强调效率和扩展性。
- Caffe:专注于卷积神经网络,在早期的图像处理任务中表现出色。
总之,随着硬件性能的提升以及大数据时代的到来,深度学习已经成为解决复杂问题的强大工具。无论是学术界还是工业界,都在积极探索如何更好地利用这项技术创造价值
神经网络
人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN)。是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)结构和功能的 计算模型。经典的神经网络结构包含三个层次的神经网络。分别输入层,输出层以及隐藏层。
其中每层的圆圈代表一个神经元,隐藏层和输出层的神经元有输入的数据计算后输出,输入层的神经元只是输入。
- 神经网络的特点
- 每个连接都有个权值,同一层神经元之间没有连接
- 神经元当中会含有激活函数
- 最后的输出结果对应的层也称之为全连接层
神经网络是深度学习的重要算法,用途在图像(如图像的分类、检测)和自然语言处理(如文本分类、聊天等)
那么为什么设计这样的结构呢?首先从一个最基础的结构说起,神经元。以前也称之为感知机。神经元就是要模拟人的神经元结构。
一个神经元通常具有多个树突,主要用来接受传入信息;而轴突只有一条,轴突尾端有许多轴突末梢可以给其他多个神经元传递信息。轴突末梢跟其他神经元的树突产生连接,从而传递信号。这个连接的位置在生物学上叫做“突触”。
神经网络理解案例
我们以票房预测的例子说明
输入影响票房的N个因素,这里举例四个因素,结果输出一个Y预测票房结果
为什么深度学习现在效果非常好
过去十多年,得益于数字社会的发展,积累了大量的数据。以前的一些算法到达了瓶颈期,它们无法适用于大量的数据。"大规模"一直推动深度学习的发展进步。不仅仅是数据量的大,算法模型规模越来越大等。
- 数据
- 计算
- 训练网络需要GPU、TPU
- 算法
- 一些创新,如ReLU激活函数