浅见——深度学习

深度学习

好多好友,经常问我什么是深度学习? 今天为大家分享一下自己的浅见理解哈

一、 什么是深度学习?

  1. 深度学习(DL, Deep Learning),是指利用神经网络进行训练的机器学习方法。
  2. 深度学习是机器学习的一种方法, 它使用称为神经网格的复杂结构, 特别是"深层"的神经网络, 来学习和做出预测。 深度学习特别适合处理大规模的高纬度的数据, 如图像、声音和文本。

那么提到深度学习, 还是要简单介绍一下人工智能和机器学习:

  1. 人工智能(AI, Artificial IntelLligence) 这是最广泛的概念,指的是使机器能够模拟人类智能行为的技术和研究领域。 AI包括理解语言、识别图像、解决问题等各种能力

  2. 机器学习(ML, Machine Learning) 机器学习是实现人工智能的一种方法, 它设计到算法和统计模型的使用, 使得计算机系统能够从数据中"学习"和改进任务的执行, 而不是通过明确的变成来实现, 机器学习包括多种技术, 如KNN、线性回归、逻辑回归、决策数、集成学习、聚类算法等。

三者的关系可以用图来介绍

深度学习呢, 实际是模仿了大脑神经元的生物结构。 这种模仿神经元, 从输入信号,到树突处理信号, 到通过细胞核去做反应, 最后将信号进行输出的过程。 以及神经元的相互连接, 像是图2一样, 通过左往右, 每一个圆圈类似一个神经元类似一个逻辑回归的模型, x相当于特征, w相当于权重, b相当于偏置。 通过加权求和, 激活函数, 让每一个神经元都分类, 从而做非线性预测

二、深度学习与机器学习有哪些不同呢?

机器学习, 需要我们通过收集到的数据集, 进行特征提取, 这里的特征提取, 特别依赖专家, 因为一些特征只有当前细分领域的专家才知道哪些特征的权重以及特种中相关指标和阈值, 而深度学习方法不需要人工, 而是依赖算法自动提取特征。 深度学习模仿人类的大脑的运行方式, 从经验中学习获取知识, 这也是深度学习被看做黑盒子, 可解释性差的原因,

三、深度学习有哪些优缺点呢?

  1. 优点

    • 精度高, 性能优于其他的机器学习算法, 甚至某些领域超越了人类(比如下棋)
    • 随之计算机硬件的发展, 可以近似任意的非线性函数
    • 近年来学界和业界收到了热捧, 有大量的框架和库可以调用
  2. 缺点

    • 黑箱。 很难解释模型是怎么工作的
    • 训练时间长, 需要大量的计算资源
    • 网络结构复杂, 需要调整超参数多
    • 部分数据集上表现不佳, 容易发生过拟合

四、目前深度学习的4个框架

1. TensorFlow

TensorFlow是goole开发的一款开源软件, 专为深度学习或人工神经网络而设计。 TensorFlow允许你可以使用流程图创建神经网络和计算模型。 它是可用于深度学习的最好维护和最为流行的开源库之一。 TensorFlow框架可以使用C++也可以使用Python。 你可以使用TensorBoard进行简单的可视化并查看计算流水线。 其领过的架构允许你轻松部署在不同类型的设备上, 不利的一面是, TensorFlow没有符号循环, 不支持分布式学习, 此外, 它还不支持Windows。

  • 出生地:Google
  • 特点: 计算图、分布式训练效果强、底层C构建速度快,生态强大
  • 主要调包语言:Python、C/C++、Js
  • 评价:对标Pytorch、学术界没有市场,部署更加方便
  • 入门推荐: 建议做工程的小伙伴入门

2. Pytorch

Pytorch是Meta的框架, 前身是Torch, 支持动态图, 而且提供了Python接口, 是一个以Python有限的深度学习框架, 不仅能够实现强大的GPU加速, 同时还支持动态神经网络。 Python是现在学术界的霸主, 对于想要做学术的同学首推。

  • 出生地:Meta
  • 特点: 生态强大, 入门爽歪歪, 代码量少
  • 主要调包语言: Python、C/C++
  • 评价: 入门很快, 速度有点慢, 部署很垃圾, 学术界的霸主
  • 入门推荐:想要做学术的同学绝对首选, 几乎现在顶会论文的代码都是这个框架写的

3. 飞浆(PaddlePaddle)

百度推出的深度学习框架, 算是国人最火的深度学习框架了。 更新了2.0的高级API与动态图后, Paddle更加的请打。百度有很多PaddlePaddle的教程, 对于初学正来说还是相当不错的。 PaddlePadddle有很多片姐的工具, 比如Detection、CV、NLP、GAN的工具包,也有专门的可视化工具(远离Tensorboard的支配)

  • 出生地:百度
  • 特点: 计算图动态图都支持, 有高级API、速度快、部署方便、有专门的平台
  • 主要调包语言:Python、C/C++、JS
  • 入门推荐:如果没有卡那就非常适合,如果算力不缺,建议先看看Pytorch

4. ONNX

ONNX是一种针对机器学习所涉及的开放式的文件格式, 用于存储训练好的模型, 它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互。 用大白话说就是一个中间件, 比如你Pytorch的模型想转换别的,就得通过ONNX,现在有的框架可以直接转,但是在没有专门支持的时候,ONNX就非常重要了,万物先转ONNX,ONNX再转万物。ONNX本身也有自己的模型库以及很多开源的算子,所以用起来门槛不是那么高。

  • 特点: 万能转换
  • 语言: python,C/C++
  • 入门推荐: 比用刻意练习, 用到了再看
相关推荐
kyle~6 小时前
机器视觉---ViBe算法
人工智能·算法·计算机视觉
老纪的技术唠嗑局6 小时前
AI 改变数据库产品实践探索
人工智能
数在表哥6 小时前
从数据孤岛到智能决策:数据驱动+AI如何重构企业运营的技术路径与方法论(一)
人工智能·重构·数据驱动·企业运营
金井PRATHAMA6 小时前
语义与认知中的循环解释悖论及其对人工智能自然语言处理的深层语义分析的影响和启示
人工智能·自然语言处理·知识图谱
moonsims7 小时前
MR(混合现实)与AI(人工智能)结合的自主飞行技术
人工智能
Bar_artist7 小时前
AI 颠覆室内设计:SpatialGen 实现 “一句话生成 3D 房间”
人工智能·3d
m0_743106467 小时前
【VGGT-X】:尝试将VGGT用到3DGS重建中去
人工智能·算法·计算机视觉·3d·几何学
杀生丸学AI7 小时前
【三维重建】即插即用的3DGS的PDE优化:高质量渲染和重建
人工智能·3d·大模型·aigc·3dgs·高斯泼溅·空间智能
星期天要睡觉7 小时前
计算机视觉(opencv)——MediaPipe 实现手部关键点检测与可视化
人工智能·opencv·计算机视觉