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

简介: 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缺乏理论支持的感觉。。

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

目录
相关文章
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其应用
【9月更文挑战第24天】本文将深入探讨深度学习中的一种重要模型——卷积神经网络(CNN)。我们将通过简单的代码示例,了解CNN的工作原理和应用场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息。
52 1
|
6天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
该算法结合了遗传算法(GA)与分组卷积神经网络(GroupCNN),利用GA优化GroupCNN的网络结构和超参数,提升时间序列预测精度与效率。遗传算法通过模拟自然选择过程中的选择、交叉和变异操作寻找最优解;分组卷积则有效减少了计算成本和参数数量。本项目使用MATLAB2022A实现,并提供完整代码及视频教程。注意:展示图含水印,完整程序运行无水印。
|
20天前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
45 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
12天前
|
机器学习/深度学习 人工智能 算法
深入理解卷积神经网络:从理论到实践
【9月更文挑战第31天】在深度学习的众多模型之中,卷积神经网络(CNN)以其在图像处理领域的出色表现而闻名。本文将通过浅显易懂的语言和直观的比喻,带领读者了解CNN的核心原理和结构,并通过一个简化的代码示例,展示如何实现一个简单的CNN模型。我们将从CNN的基本组成出发,逐步深入到其在现实世界中的应用,最后探讨其未来的可能性。文章旨在为初学者提供一个清晰的CNN入门指南,同时为有经验的开发者提供一些深入思考的视角。
|
12天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【9月更文挑战第31天】本文旨在通过浅显易懂的语言和直观的比喻,为初学者揭开深度学习中卷积神经网络(CNN)的神秘面纱。我们将从CNN的基本原理出发,逐步深入到其在图像识别领域的实际应用,并通过一个简单的代码示例,展示如何利用CNN进行图像分类。无论你是编程新手还是深度学习的初学者,这篇文章都将为你打开一扇通往人工智能世界的大门。
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)入门与实践
【8月更文挑战第62天】本文以浅显易懂的方式介绍了深度学习领域中的核心技术之一——卷积神经网络(CNN)。文章通过生动的比喻和直观的图示,逐步揭示了CNN的工作原理和应用场景。同时,结合具体的代码示例,引导读者从零开始构建一个简单的CNN模型,实现对图像数据的分类任务。无论你是深度学习的初学者还是希望巩固理解的开发者,这篇文章都将为你打开一扇通往深度学习世界的大门。
|
20天前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
38 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
18小时前
|
机器学习/深度学习 编解码 自然语言处理
卷积神经网络(CNN)的发展历程
【10月更文挑战第1天】卷积神经网络(CNN)的发展历程
|
24天前
|
机器学习/深度学习 自动驾驶 TensorFlow
深入理解卷积神经网络(CNN)在图像识别中的应用
【9月更文挑战第20天】本文旨在通过直观的解释和代码示例,向初学者介绍卷积神经网络(CNN)的基本概念及其在图像识别领域的应用。文章将首先解释什么是CNN以及它如何工作,然后通过一个简单的Python代码示例展示如何构建一个基本的CNN模型。最后,我们将讨论CNN在现实世界问题中的潜在应用,并探讨其面临的挑战和发展方向。
53 2
|
4天前
|
机器学习/深度学习 PyTorch API
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)