cv学习总结(11.21-11.27)
本周彻底完成了CNN的全部内容,包括CNN的原理,代码实现等。CNN是一种神经网络的framework,跟connected_layer相比,更加侧重于能够保持原来的空间结构不变;我们输入的图片是一个n*n*3的numpy数组,其中n是图片的分辨率,3是RGB颜色空间的数目,如果是全连接层,我们需要将输入的照片reshape成一个向量,例如如果输入照片为32*32*3,那么我们就需要将图片reshape成3072*1的向量,然后再经过权重矩阵的映射得到最终的分数列向量;这么做无疑是将图片的空间结构特性消除了。而CNN则是考虑用一个filter,其形状为size*size*3,来考虑局部的特性。每次用filter与当前size*size*3这么大的numpy数组进行矩阵运算,最终得到一个数字,然后通过不断的横移纵移filter遍历整个输入图片,最终得到一个矩阵。如果原本的尺寸为n,卷积核的尺寸为m,每次移动的步长为stride,并且有F个卷积核则经过该层后的数据规模为((n-m)/stride+1,(n-m)/stride+1,F)。与传统的全连接层相比,CNN无疑是既可以保证原本输入的数据的空间结构不变,又可以得到图片部分区域的局部特性。
除了卷积层,一般还应该具有池化层,池化则是考虑将输入数据进行downsampleing,进行局部采样。其可以起到减少数据规模,减少运算量,防止过拟合的现象出现。此外,由于图片中大部分的特征都是冗余的,所以进行池化层仍然可以保持原来特性不变。此外,由于池化层中实施局部采样得到的新的空间结构中的采样方式的多种多样,可以实现非线性的组合方式,类似于激活函数,比如maxpooling层,就是用了max函数实现局部采样,这样同时可以具有一些激活函数的特性。当然,并非所有的时候池化都是好的,在有的时候,池化层过多可能会导致样本特性丢失过多导致学习能力下降的情况出现。
在这周,同样实现我们一门专业选修课的机器学习的模型(虽然我没选那门课),分别有两个老师的两个大作业:第一是图片分类,第二个是虚假新闻检测,其中图片分类问题是5分类问题,虚假新闻检测是2分类问题,虚假新闻检测还需要用到NLP中一些数据处理的方法。在实现中,同时接触了pytorch和keras两个框架,并且成功安装/运行了GPU版本用来跑模型。最终CNN在图片分类问题上实现了90的准确率,在NLP问题上实现了96的准确率,也算是用框架实战cv和NLP问题的一个小的项目。
这周在给好兄弟们分享神经网络的一些知识的时候,自己也有了一些小的心得体会:现在的机器学习到底在干什么?用已有的数据集训练一个模型,需要寻求一个最佳的模型能够最准确的预测遇到的新的问题。那么训练的这个模型在神经网络中,就是好多好多层中的映射关系,即权重矩阵;那么我们该优化我们的权重矩阵,就是试图最小化损失函数来解决,而这么做的原因是因为我们的损失函数具有一定的意义:在训练中对于原本信息的损失程度,或者在softmax中,我认为可以看做将模型错误分类产生的贡献,我们最小化损失函数也就是在使得模型预测错误的可能性减小,尽可能增大模型预测正确的概率。那么如何通过我们已经训练好的模型进行预测呢,那便是将图片/数据经过这个计算模型,得到一个分数矩阵,通过不同类别分数的高低进行比较,计算机倾向于认为分数较高的那一类作为当前数据的类别。我觉得在神经网络中,以这个作为理解的基础,在以后学习RNN或者ResNet这些更高级更复杂的framework中,可能会有一些比较好的影响。
2022.11.27
cv学习总结(11.21-11.27)的更多相关文章
- 第33次Scrum会议(11/21)【欢迎来怼】
一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/11/21 11:35~11:57,总计22min.地点:东北 ...
- c++学习书籍推荐《深入理解C++11 C++11新特性解析与应用》下载
百度云及其他网盘下载地址:点我 编辑推荐 <深入理解C++11:C++11新特性解析与应用>编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑.系统.深 ...
- 打印出1,11,21,31,41。。。。。。的shell脚本
打印出1,11,21,31,41......的shell脚本 方法一:#!/bin/bash ;i<;i=i+));do echo $i #cat -n /etc/services | sed ...
- 2016年12月16日 星期五 --出埃及记 Exodus 21:11
2016年12月16日 星期五 --出埃及记 Exodus 21:11 If he does not provide her with these three things, she is to go ...
- China Intelligent Office Summit(2018.11.21)
时间:2018.11.21地点:中关村软件园国际会议中心
- 2017/11/21 Leetcode 日记
2017/11/21 Leetcode 日记 496. Next Greater Element I You are given two arrays (without duplicates) num ...
- Kafka 学习笔记之 Kafka0.11之console-producer/console-consumer
Kafka 学习笔记之 Kafka0.11之console-producer/console-consumer: 启动Zookeeper 启动Kafka0.11 创建一个新的Topic: ./kafk ...
- JZOJ 11.21 提高B组反思
JZOJ 11.21 提高B组反思 T1 第二类斯特林数 直接套公式 \(S(i,j)=S(i-1,j-1)+S(i-1,j)*j\) 由于过大,\(unsigned\ long\ long\)都存不 ...
- Qt 学习之路 2(27):渐变
Qt 学习之路 2(27):渐变 豆子 2012年11月20日 Qt 学习之路 2 17条评论 渐变是绘图中很常见的一种功能,简单来说就是可以把几种颜色混合在一起,让它们能够自然地过渡,而不是一下子变 ...
- 零基础入门学习Python(21)--函数:lambda表达式
知识点 lambda 表达式 Python 允许使用lambda关键字创建匿名函数 lambda 函数怎么使用? 单个参数 >>> def add(x): return 2*x + ...
随机推荐
- D - Swap Free Gym - 102423D 二分图性质:补图最大团 = 点的个数 - 最大匹配数
题意:给你一个串的某些全排列,没有重的,让你求一个最大的集合能有多少个元素,集合的满足条件:交换一个串的任意两个位置上的字母,不能变成集合里的另一个串. 思路:如果一个串不能通过交换一次字母位置变成另 ...
- 19.new和delete用于数组
程序1: //2022年9月20日22:06:27 #include <iostream> #pragma warning(disable:4996) using namespace st ...
- Centos 7配置使用nginx反向代理mysql
背景:由于WEB服务和MySQL数据库服务分开部署的,由于网络问题限制,有时需要通过中间代理服务器跳转连接MySQL,所以需要在中间服务器上配置代理. 1.添加stearm模块 # nginx通常代理 ...
- Spring Data Solr 对 Solr 的增删改查实例
Spring Data Solr 就是为了方便 solr 的开发研制的一个框架,其底层是对 SolrJ(官方 API)的封装 一.环境搭建 第一步:创建 Maven 项目(springdatasolr ...
- BrightlyPro - 照片视屏后期自动调色增亮工具
BrightlyPro 自动增强您的照片和视频,你最需要它.通过一个滑块,BrightlyPro 立即使您的照片自适应地亮起来,同时保持光影之间令人愉悦的平衡,而不会扭曲已经点亮的区域. 下载 ➤ B ...
- 记一次在forEach中使用aynac/await中的坑
1.背景 在写一个对齐脚本时 发现下列问题 const timeList = await imageList.map( (item,index)=>{ return item.identify_ ...
- 容器云平台监控告警体系(三)—— 使用Prometheus Operator部署并管理Prometheus Server
1.概述 Prometheus Operator是一种基于Kubernetes的应用程序,用于管理Prometheus实例和相关的监控组件.它是由CoreOS开发的开源工具,旨在简化Prometheu ...
- java -- static, 内部类, 权限, 参数传递
static关键字 static是静态修饰符,一般修饰成员.被static修饰的成员属于类,不属于单个这个类的某个对象.static修饰的成员被多个对象共享.static修饰的成员属于类,但是会影响每 ...
- vue之数组的方法
目录 简介 filter方法 简介 本文会把遇到的数组的方法慢慢补充进来 filter方法 filter()方法是一个过虑方法 以下面的为例:列表dataList会每次取一个值,把值给匿名函数,并执行 ...
- kubernetes核心实战(一)--- namespace
kubernetes核心实战 1.资源创建方式 命令行创建 yaml文件创建 2.namespace 命名空间(namespace)是Kubernetes提供的组织机制,用于给集群中的任何对象组进行分 ...