我对卷积神经网络的一点粗浅的理解

简介: Convolutional Neural Network,卷积神经网络,简称CNN,最近几年再次流行起来。CNN和普通的机器学习算法有什么相同,有什么不同?简单说,CNN=A+B,即CNN包括两个方面的功能:A:feature extactor 特征提取器普通的机器学习算法,比如决策树、随机森林、svm、逻辑回归/softmax等,它的输入通常就是若干个features而CNN的输入,是图片!我们当然可以把图像像素作为feature vector中的一个维度。

Convolutional Neural Network,卷积神经网络,简称CNN,最近几年再次流行起来。

CNN和普通的机器学习算法有什么相同,有什么不同?

简单说,CNN=A+B,即CNN包括两个方面的功能:

A:feature extactor 特征提取器

普通的机器学习算法,比如决策树、随机森林、svm、逻辑回归/softmax等,它的输入通常就是若干个features

而CNN的输入,是图片!

我们当然可以把图像像素作为feature vector中的一个维度。但是这毕竟过于naive。往往并不怎么work。

CNN中的特征提取,是通过卷积层完成的。这里说的卷基层,包括狭义的卷积、池化(下采样)。

个人认为,我们并不一定要把CNN中的卷积层看作传统人工智能中的神经网络的改进。因为真的有点勉强:传统神经网络的输入就是一个个的feature vector,用作分类器或者回归器。CNN的输入则是图片。

B:classifier or regressor 分类器或回归器

CNN中的全连接层输出层,这个其实是和传统的神经网络一致的:处理的输入是feature vectors,输出的是类别label或者连续的预测数值

总结

CNN = 特征提取(卷积层)+ 分类(全连接层)

其中特征提取是说,feature是学出来的,而不是“手工设计的”(比如SIFT,SURF,ORB,HOG,LBP,HSC等)

但是这里还有一个疑问:学出来的feature应该是唯一的吗?怎样的学出来的特征算是“好的特征”?我们固然可以设计不同的网络结构,来学习出不同的特征。但是怎样的特征才是好的特征?以及,我们能否从特征学习的过程中,得到一些规律,用于辅助手工设计特征?毕竟搞一个CNN的话,要大量数据或者微调,而且需要GPU,并且还是一个black box缺乏理论支持的感觉。。

有想法的请留言。欢迎吐槽。

目录
相关文章
|
3月前
|
机器学习/深度学习 算法 PyTorch
简单讲解CNN(卷积神经网络)
简单讲解CNN(卷积神经网络)
33 1
|
3月前
|
机器学习/深度学习
卷积神经网络
卷积神经网络
37 1
|
5月前
|
机器学习/深度学习 算法 异构计算
卷积神经网络(CNN)
卷积神经网络(CNN)
58 0
卷积神经网络(CNN)
|
6月前
|
机器学习/深度学习 自然语言处理 算法
深入了解卷积神经网络(CNN)
卷积神经网络是一种受到生物视觉系统启发而设计的人工神经网络。它在计算机视觉和图像处理领域取得了巨大的成功,并成为许多深度学习模型的基础。
55 1
|
7月前
|
机器学习/深度学习 人工智能 数据挖掘
卷积神经网络(一)
卷积神经网络(一)
119 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
卷积神经网络(二)
卷积神经网络(二)
82 1
|
8月前
|
机器学习/深度学习
CNN 卷积神经网络(中)
CNN 卷积神经网络(中)
80 0
CNN 卷积神经网络(中)
|
8月前
|
机器学习/深度学习
CNN 卷积神经网络(下)
CNN 卷积神经网络(下)
67 0
|
8月前
|
机器学习/深度学习 并行计算 PyTorch
CNN 卷积神经网络(上)
CNN 卷积神经网络(上)
101 0
|
机器学习/深度学习 PyTorch 测试技术
【6】卷积神经网络的介绍
【6】卷积神经网络的介绍
82 0
【6】卷积神经网络的介绍

相关实验场景

更多