Caffe2 简明教程

Caffe2 - Introduction

过去几年,深度学习已成为机器学习中的大趋势。它已被成功用于解决以前无法解决的问题,例如*视觉、语音识别和自然语言处理* (NLP)。深度学习已被应用于更多领域并展示了它的有用性。

Caffe (Convolutional Architecture for Fast Feature Embedding) 是在 Berkeley Vision and Learning Center (BVLC) 开发的深度学习框架。在杨清吉加州大学伯克利分校攻读博士期间创建了 Caffe 项目。Caffe 提供了一种轻松尝试深度学习的方法。它用 C++ 编写并为 PythonMatlab 提供绑定。

它支持多种不同类型的深度学习架构,例如 CNN (卷积神经网络)、 LSTM (长短期记忆)和 FC(全连接)。它支持 GPU,因此非常适用于涉及深度神经网络的生产环境。它还支持基于 CPU 的核库,例如 NVIDIA 、CUDA 深度神经网络库 (cuDNN) 和英特尔数学核库 (Intel MKL)

2017 年 4 月,位于美国的社交网站服务公司 Facebook 宣布推出 Caffe2,它现包含 RNN(循环神经网络),2018 年 3 月,Caffe2 合并到了 PyTorch 中。Caffe2 创建者和社区成员创建了用于解决各种问题的模型。这些模型作为预训练模型提供给公众。Caffe2 可以帮助创建者使用这些模型和创建自己的网络来对数据集进行预测。

在深入了解 Caffe2 之前,我们先了解一下 machine learningdeep learning 之间的差异。这对于理解在 Caffe2 中如何创建和使用模型是必要的。

Machine Learning v/s Deep Learning

在任何机器学习算法中,无论是传统的算法还是深度学习算法,数据集中的特征选择在获得所需的预测准确性方面都起着至关重要的作用。在传统的机器学习技术中, feature selection 主要由人为观察、判断和深入的领域知识完成。有时,你可以寻求一些经过测试的特征选择算法的帮助。

传统的机器学习流程如下图所示 −

machine learning

在深度学习中,特征选择是自动的,并且是深度学习算法自身的一部分。这如下图所示 −

deep learning

在深度学习算法中, feature engineering 自动完成。通常,特征工程非常耗时,并且需要良好的领域专业知识。为了实现自动特征提取,深度学习算法通常需要大量数据,因此,如果你只有数千到数万个数据点,那么深度学习技术可能无法为你提供满意的结果。

与传统机器学习算法相比,深度学习算法在大数据上会产生更好的结果,而且不需要进行特征工程或减少特征工程。