人工智能(artificial intelligence,AI)指由人制造出来的机器所表现出来的智能。通常人工智能是指通过计算机系统使用数学和逻辑来模拟人类用于学习新信息并进行决策的推理过程。
介绍
- 预计 2030 预计达到 13 万亿美元规模,主要对零售、自动驾驶、预测等
- AI 可以做什么:Anything you can do with 1 second of thought, we can probably now or soon automate.
- spam filtering
- speech recognition
- machine translation
- online advertising
- Self-driving car
- visual inspection
- 哪些容易实现
- Learning a simple concept
- Lots of data available
- 分类
机器学习(Machine Learning):输入 A -> 输出 B 的过程- Field of study that gives computers the ability to learn without being explicitly programmed (Arthur Samuel, 1959)
- 使计算机无需明确编程就能学习的研究领域
数据科学(Data science)- science of extracting knowledge and insights from data
- 从数据中提取知识和见解的科学
神经网络(Artificial Neural Network,ANN,人工神经网络)- 一种人工智能方法,用于教计算机以受人脑启发的方式处理数据
- 这种
机器学习(Machine Learning)过程,也称为深度学习(Deep learning),它使用类似于人脑的分层结构中的互连节点或神经元(neuron)
无监督学习(unsupervised learning)强化学习 reinforcement learning图形建模 Graphical models计划 planning知识图表 knowledge graphNLP(Natural Language Processing, 自然语言处理)是人工智能和语言学领域的分支学科,主要探讨如何处理及运用自然语言;自然语言处理包括多方面和步骤,基本有认知、理解、生成等部分。
- 关系
- AI > ML > DL/NN
数据科学(Data science)会交叉 AI、ML、DL/NN 等
- 数据集越大,神经网络(small/medium/large neural net)规模越大,效果约好
- 按功能分
- 根据数据和过去的经验做出决策(A -> B)
- 识别异常时间
- 解释视觉输入
- 对话和交流
- 语义推理
- 团队
- ML 项目可以组建内部团队,也可以外包
- DS 项目几乎都组建内部团队
四个主要组成部分
- 专家系统:作为专家处理正在审查的情况,并产生预期或预期的绩效
- 启发式问题解决:包括评估小范围的解决方案,并可能涉及一些猜测,以找到接近最佳的解决方案
- 自然语言处理:在自然语言中实现人机之间的交流
- 计算机视觉:自动生成识别形状和功能的能力
三要素
- 算法
- 算力
- 数据
算法:深度学习框架
AI 算力训练框架:
- TensorFlow:一个开源软件库,用于各种感知和语言理解任务的机器学习。
- TensorBoard
Caffe(快速特征嵌入的卷积结构,Convolutional Architecture for Fast Feature Embedding)是一个深度学习框架,最初开发于加利福尼亚大学柏克莱分校。Caffe 在 BSD 许可下开源,使用 C++编写,带有 Python 接口。- CNTK
- PyTorch 是一个开源的 Python 机器学习库,基于 Torch,底层由 C++实现,应用于人工智能领域,如自然语言处理。PyTorch 主要有两大特征:类似于 NumPy 的张量计算,可使用 GPU 加速
- pytorch/examples 一组围绕 pytorch 在视觉、文本、强化学习等方面的示例
- 百度飞桨PaddlePaddle致力于让深度学习技术的创新与应用更简单。具有以下特点:同时支持动态图和静态图,兼顾灵活性和效率;精选应用效果最佳算法模型并提供官方支持;真正源于产业实践,提供业界最强的超大规模并行深度学习能力;推理引擎一体化设计,提供训练到多端推理的无缝对接;唯一提供系统化技术服务与支持的深度学习平台。
- AIStation 是浪潮面向人工智能企业训练场景的人工智能开发资源平台,可实现容器化部署、可视化开发、集中化管理等,为用户提供极致高性能的 AI 计算资源,实现高效的计算力支撑、精准的资源管理和调度、敏捷的数据整合及加速、流程化的 AI 场景及业务整合,有效打通开发环境、计算资源与数据资源,提升开发效率。
- OpenPAI 是一个提供完整的人工智能模型训练和资源管理能力开源平台,它易于扩展,支持各种规模的
on-premise、on-cloud和混合环境。 - Keras:一个用 Python 编写的开源神经网络库,能够在 TensorFlow、Microsoft Cognitive Toolkit、Theano 或 PlaidML 之上运行。
- MXNet
- H2O
- Scikit-learn
- R
- Weka
- poodarchu/Det3D 一个通用的三维物体检测代码
- lutzroeder/netron 神经网络、深度学习和机器学习模型的可视化工具
- foxglove/studio 机器人可视化和调试工具
- 安装:
apt install foxglove-studio - 功能:数据仿真、在线连接、各种面板(如表格、参数、日志、话题发布、三维面板、主题图面板、图表)
- 同类工具
plotjuggler、rviz - foxglove/mcap 是一种模块化、高性能且与序列化无关的容器文件格式,适用于发布/订阅和机器人应用程序
- 安装:
点云(Pointcloud)是空间中点的数据集,可以表示三维形状或对象,通常由三维扫描仪获取。点云中每个点的位置都由一组笛卡尔坐标描述,有些可能含有色彩信息或物体反射面强度信息。参考:https://point.cloud/- mlflow
算力
按资源位置分:
- Cloud
- on-premises
- Edge(边缘计算),如自动驾驶、语音识别场景,传输数据需要消耗大量网络带宽等
- 优势:加快系统的反应时间
CPU
CPU(Computer process, Central Processing Unit, 中央处理器)- Intel & ADM
GPU
数据集
开发工具
- Kaggle:是一个数据建模和数据分析竞赛平台。企业和研究者可在其上发布数据,统计学者和数据挖掘专家可在其上进行竞赛以产生最好的模型。2017 年 3 月 8 日谷歌宣布收购 Kaggle。
- Arxiv(research publications)
VTube Studio是一款 Live2D 虚拟 YouTuber 的一体化解决方案。使用 VTube Studio,可以轻松地将自己的 Live2D 模型直接加载到您的 Android 手机上(必须支持 ARCore 人脸跟踪),并使用人脸跟踪与他们合二为一- OpenVINO 工具包是一个免费的工具包,可通过使用推理引擎将深度学习模型从框架和部署优化到英特尔硬件。该工具包有两个版本:
- 开放源代码社区支持的 OpenVINO 工具包
- 英特尔支持的英特尔 OpenVINO 工具包发行版
- 飞桨 AI Studio
- metaflow ML、AI 和数据科学框架
相关网站
转型的步骤
- 执行试点项目以获得动力(execute pilot project to gain momentum)
- 组件内部的 AI 团队(Build an in-house AI Team)
- 广泛培训 AI(Provide broad AI training)
- 制定 AI 策略(Develop an AI strategy)
- 发展内部和外部的沟通(Develop internal an external communications)
学习路线
以吴恩达人工智能课:
- AI For Everyone(Coursera)
- Machine Learning(Coursera)
- CS229 Machine Learning(stanford)
- 深度学习专项课程(Deeplearning.ai)
- CS230 Deep Learning(stanford)
- TensorFlow in Pratice(Deeplearning.ai)
- TensorFlow: Data and Deployment(Deeplearning.ai)
实现
-
Alpaca 模型
-
Claude
-
PALM 模型:google 为 Google Workspace 开发 AI 模型,有 540Billion 参数
-
LLaMA(Large Language Models)模型 有 65Billion 的参数 -
MMLab 是最早把深度学习应用于计算机视觉的研究机构之一
- OpenMMlab 深度学习时代最完整的计算机视觉开源算法体系
- OpenMMLab 构建了深度学习时代最具影响力的开源计算机视觉算法系统。其目标是
- 提供高质量的库,降低算法重新实现的难度
- 创建针对各种后端和设备的高效部署工具链
- 为计算机视觉研究与开发奠定坚实基础
- 利用全栈工具链缩小学术研究与工业应用之间的差距
- 开源项目
- open-mmlab/mmdetection3d OpenMMLab 用于通用 3D 物体检测的下一代平台
- open-mmlab/mmcv OpenMMLab Computer Vision Foundation
-
PEWFT(Parameter-Efficient Fine-Tuning)最先进的参数高效微调技术,地址 -
alphafold2 是一个用来进行非常精确的蛋白质结构预测的模型,2021 年 7 月 15 号发布在nature
-
transformer 变形体:
BERT(Bidirections Encoder Representations from Transformers)transformer 模型的双向编码器表示,参考- 有两种预训练策略
feature-base特征基础,pre-training预训练fine-tuning微调
- 双向的想法来自于
ELMo
- 有两种预训练策略
- GPT,参数和数据量超大
-
开源项目
- suno-ai/bark 有感情的朗读文本
- facebookresearch/segment-anything 图片分隔,提供
SegmentAnything Model (SAM)模型检查点的链接,以及展示如何使用模型的示例 - sczhou/ProPainter 视频抠图、去水印
-
图形处理相关实现
-
DeepVideo
- 发展出 Two-Stream、C3D
-
ZDT
- 发展出 Two-Stream、TDD
-
Two-Stream:基于 DeepVideo + ZDT
- Easy fusion
- TSN
- DOVF
- TLE
- Action VLAD
- Beyond Short Snippts
- TDD
- LSTM
-
C3D
- I3D
- R3D、MFnet、STC
- S3D、R(2+1)D、ECO
- P3O、non-local、V4D?
- CSN、SlowFast、X3D
- I3D
-
Vision Transformer
- Timesformer
- VidTr
- ViVit
- Mvit
-
CNN
-
Two-Stream
- Two-Stream Convolutional Networks for Action Recognition in Videos 用于视频动作识别的双流卷积网络
- Spatial stream ConvNet
- Temporal stream ConvNet
- Optical flow ConvNets
- Convolutional Two-Stream Network Fusion for Video Action Recognition 研究在空间和时间上融合 ConvNet 塔的多种方法,以充分利用这些时空信息
- Two-Stream Convolutional Networks for Action Recognition in Videos 用于视频动作识别的双流卷积网络
-
A Closer Look at Spatiotemporal Convolutions for Action Recognition 本文讨论了用于视频分析的几种时空卷积形式,并研究了它们对动作识别的影响
- R(2+1)D
-
SlowFast Networks for Video Recognition 用于视频识别的 SlowFast 网络
-
Learning Spatiotemporal Features with 3D Convolutional Networks 提出了一种简单而有效的时空特征学习方法,即利用在大规模监督视频数据集上训练的深度三维卷积网络(3D ConvNets)进行时空特征学习
- 3D CNN
-
Beyond Short Snippets: Deep Networks for Video Classification 提出并评估了几种深度神经网络架构,以结合视频中的图像信息,时间跨度比以往尝试的更长
-
Non-local Neural Networks 将非局部运算作为捕捉长程依赖关系的通用构件系列来介绍
-
Vision Transformer: Vit and its Derivatives ViT 的灵感来源于自然语言处理中的自我注意机制,即用补丁嵌入替换单词嵌入
Vision Transformer (ViT)computer vision (CV)- ViT 改变了自 2012 年 Alexnet 提出以来,卷积神经网络在计算机视觉领域的绝对统治地位,如果在足够多的数据上去做训练,不需要卷积神经网络,直接使用一个自然语言处理那边搬过来的标准 Transformer,也可以很好的处理视觉问题
- ViT 在视觉领域挖了个大坑,它打破了 CV 和 NLP 在模型上的壁垒,所以在多模态领域也挖了个大坑
- Image Classification on ImageNet 在 ImageNet 数据集上图形分类算法排名统计
- Object Detection on COCO test-dev 在 COCO test-dev 数据集上物体检测排名统计
-
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 直接应用于图像斑块序列的 Transformers 可以在图像分类任务中表现出色
-
Inflated 3D Convolution-Transformer for Weakly-supervised Carotid Stenosis Grading with Ultrasound Videos 首次提出了用于自动 CSG 的视频分类框架
-
Language-driven Semantic Segmentation, LSeg 语言驱动的语义图像分割新模型
-
GroupViT: Semantic Segmentation Emerges from Text Supervision 分组和识别是视觉场景理解的重要组成部分,如用于物体检测和语义分割
-
Open-vocabulary Object Detection via Vision and Language Knowledge Distillation 目标是推进开放式词汇对象检测,即检测由任意文本输入所描述的对象
Vision and Language Knowledge Distillation(ViLD)
-
Grounded Language-Image Pre-training 本文提出了一种基础语言-图像预训练(
GLIP)模型,用于学习对象级、语言感知和语义丰富的视觉表征 -
GLIPv2: Unifying Localization and Vision-Language Understanding 提出的
GLIPv2是一个基础视觉语言理解模型,可同时用于定位任务(如物体检测、实例分割)和视觉语言(VL)理解任务(如 VQA、图像字幕) -
Learning Transferable Visual Models From Natural Language Supervision ***
Contrastive Vision-Language Pre-training (CLIP, 对比语言-图像预训练)根据图像预测最相关的文本片段- CLIP(对比语言-图像预训练)是一个在各种(图像、文本)对上训练的神经网络。它可以根据自然语言的指示,在给定图像的情况下预测最相关的文本片段,而无需直接对任务进行优化,类似于 GPT-2 和 3 的 zero-shot 能力
- https://github.com/openai/clip
- CLIPasso: Semantically-Aware Object Sketching 语义感知物体素描
- CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval CLIP4Clip 模型,以端到端方式将 CLIP 模型的知识转移到视频语言检索中
- ActionCLIP: A New Paradigm for Video Action Recognition 重视标签文本的语义信息,而不是简单地将其映射为数字,从而为行动识别提供了一个新的视角
- How Much Can CLIP Benefit Vision-and-Language Tasks? 为了进一步研究 CLIP 带来的优势,我们建议在两种典型场景中将 CLIP 用作各种 V&L 模型中的视觉编码器:
-
- 将 CLIP 插入特定任务的微调中;
-
- 将 CLIP 与 V&L 预训练相结合,并转移到下游任务中。
-
- AudioCLIP: Extending CLIP to Image, Text and Audio 介绍了 CLIP 模型的扩展,该模型除处理文本和图像外,还可处理音频
- PointCLIP: Point Cloud Understanding by CLIP 通过提出在 CLIP 编码的点云和三维类别文本之间进行配准的 PointCLIP,确定了这种设置的可行性
- StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery 受到 StyleGAN 在各种领域生成高度逼真图像的能力的启发,最近的许多工作都侧重于了解如何使用 StyleGAN 的潜在空间来处理生成的图像和真实图像
- CLIPDraw: Exploring Text-to-Drawing Synthesis through Language-Image Encoders 一种基于自然语言输入合成新颖图画的算法
-
Can Language Understand Depth? 建议将 CLIP 应用于零点单目深度估计(zero-shot monocular depth estimation),命名为 DepthCLIP
-
Momentum Contrast for Unsupervised Visual Representation Learning 提出了用于无监督视觉表征学习的动量对比(MoCo)
-
ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision 无卷积或区域监督的视觉语言 Transformer
Vision-and-Language Pre-training (VLP)
-
Align before Fuse: Vision and Language Representation Learning with Momentum Distillation 引入了一种对比损失法,通过跨模态注意力将图像和文本表征对齐并融合(ALBEF),从而使视觉和语言表征学习更接地气
ALBF(Align before Fuse)- https://github.com/salesforce/ALBEF
-
VLMo: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts 提出了一种统一的视觉语言预训练模型 (VLMo),该模型通过模块化 Transformer 网络联合学习双编码器和融合编码器
-
Is Space-Time Attention All You Need for Video Understanding? 提出了一种完全基于时空自我关注的无卷积视频分类方法 TimeSformer
-
Learning Transferable Visual Models From Natural Language Supervision 从自然语言监督中学习可迁移的视觉模型
-
其他
- How to Train Really Large Models on Many GPUs?
- Contrastive Language-Image Forensic Search 对比语言-图像取证搜索允许使用 OpenAI 的机器学习模型 CLIP 通过视频进行自由文本搜索
-
以上参考 mli/paper-reading