最新要闻
- 天天视讯!GTX 1050 Ti就能跑!顽皮狗公布《最后生还者:Part 1》PC版配置要求
- 世界看点:自称12年驾龄 特斯拉Model X车主在线维权:踩刹车没反应加速撞柱子
- 天天观察:苹果古典音乐软件已上架:Apple Music会员免费用!中国市场随后推出
- 当前资讯!明基推出首款48寸OLED电竞显示器:4K 120Hz、90W反向供电
- 《生化危机4:重制版》PS5版疑似已偷跑 小心剧透啊
- 世界百事通!illustrator学习心得体会(illustrator序列号)
- 65寸4K大屏电视不到2000元 LCD白菜价即将结束:3月价格上涨10%
- 环球微头条丨最强AI再次进化 ChatGPT下周升级GPT-4:支持视频了
- 【环球聚看点】免费玩!《生化危机4:重制版》体验版上线:不限时、不限次
- 当前滚动:德国电动空中出租车Lilium jet完成测试:时速250km/h 全机36个电风扇
- 杀疯了!长安深夜放大招 购车百亿补贴:深蓝SL03直降2.2万
- 世界观点:佳兆业成今年首家复牌出险房企
- 全球球精选!一座河南小县城的全球钻石生意爆火:价格不到天然的1/3
- 我国再次成功发射一箭双星:天绘六号A/B星顺利进入预定轨道
- 当前快看:资助8年的女生毕业放弃工作 嫁给有钱人成家庭主妇 资助人:失眠好几天
- 天天通讯!上班族如何备考公务员_如何备考公务员
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
环球热门:对LSTM应用于图像的初步理解
循环神经网络用来处理序列化数据,因此要使用循环神经网络来处理CV领域的问题,首先要考虑将处理对象转换为序列形式的数据。
(相关资料图)
以MNIST数据集为例,其大小为28*28。将该数据序列化。如果将每一个像素点视作一个单元,则每幅图像可以用一个28*28长度的序列来表示,但这种表示过于粗暴,而且缺少一定的语义信息,处理起来也不容易,因此考虑扩大单元大小。可以考虑按照横向或者纵向进行分片,然后按照一定顺序链接起来形成序列数据。效果如下图所示。不同的切分方式会得到不同的结果,其表示也不同。序列化的数据本来是NLP领域的自然拥有的性质,比如一句话,一首诗等等。要实现NLP到CV的映射,就需要确定映射关系。
这里以RNNs的典型代表,标准形式的LSTM为例,叙述对数据集MNIST进行处理的过程。
在LSTM当中,需要确定time_step(时间步),时间步表征的是时刻长度。在NLP中指定是 一个句子的长度,这个句子的长度就是循环神经网络循环的次数,显然time_step过大,循环神经网络就会出现权重衰退或者权重爆炸等问题。关于time_step的理解:假设我们要训练LSTM,使其能够按照给定的开头创作一首诗。如果我们设置time_step为一个句子的长度,那么LSTM在训练的时候能够学习到一个句子长度以内的上下文的关系,这样我们得到的结果是:单个句子将是有意义的,但整首诗可能是无意义的。因此需要扩大time_step的长度,以整首诗的长度为序列长度,让LSTM能够学习到基于整首诗的上下文关系,这样得到的结果是有意义的。但每首诗的长度可能不同,因此存在一个max_step的问题,可用特定编码来补全。显然LSTM的学习能力越强越有可能出现权重衰退或权重爆炸的问题,因此在实际操作时需要注意。
假定batch_size=4,time_step=28,hidden_szie=50。
time_step=28意味着序列长度为28,意味着每个样本长度为28,意味着要将图片切分为长度是28的序列。对于28*28大小的MNIST来讲,恰好切分。注意,这里对每张图片来讲其被气氛为长度为28的patch,而每个patch的大小是1*28(对应NLP的词向量的维度),这个过程可以看成是重组图片的过程。其中序列长度time_step是指定的,而每个patch的大小不一定,且通常会在其上附加全局信息、局部信息、位置编码等等,用来增强该patch的特征。
hidden_size=50,指的是LSTM隐藏层的维度,LSTM隐藏层用来总结过往信息以便指导当前预测。
这样输入数据为:batch_size * 28 *28——》batch_size * 28 (序列长度time_step)* 28(词向量维度dim)
在pytorch的实现中,一般要转换输入数据的维度位置,将time_step放至第一维度,batch_size放置第二维度。即:batch_size * time_step * dim ——》time_step * batch_size * dim这样做的目的是在存储时将一个batch_size内的各个样本的第一个词(patch)存放至一起,便于读取数据进行批处理。
此时:对每一时刻,LSTM的数据大小为:batch_size * dim = 4 * 28,一共有time_step个时刻,即LSTM会循环time_step次。后续处理则直接使用LSTM最后网络的最后一个时刻的输出即可。
import torch.nn as nnimport torch# 批大小4,时间步28,特征维度28input = torch.randn(4, 28, 28)print(input.shape)# 调转维度,time_step为第一维度,方便处理input = input.permute(1, 0, 2)print(input.shape)
# 双LSTM,输入维度(词向量的大小、特征维度)28,输出维度(隐藏层的大小)100,单层rnn_bid = nn.LSTM(28, 100, bidirectional=True)# 单LSTMrnn_sig = nn.LSTM(28, 100, bidirectional=False)"""双LSTM有两个隐藏层(正反隐藏层),第一维度是隐藏层数量,第二维度是批大小,即一个时间步内处理的数据数量(batch_size)。第三维度是输出特征维度,即隐藏层维度。"""h_bid = torch.randn(2, 4, 100) # 初始化双LSTM隐藏层状态。h_sig = torch.randn(1, 4, 100) # 初始化单LSTM隐藏层状态。"""候选记忆单元的大小与隐藏层大小一致。"""c_bid = torch.randn(2, 4, 100)c_sig = torch.randn(1, 4, 100)# 执行双LSTM。output_bid, (hn_bid, cn_bid) = rnn_bid(input, (h_bid, c_bid))print("output_bid.shape", output_bid.shape)print("hn_bid.shape", hn_bid.shape)print("cn_bid.shape", cn_bid.shape)
输出层的大小为28*4*200。28指的是时间步长度,LSTM的长度(或是LSTM循环的次数),一个时间步输出的词的个数。4指的是批大小。200指的是隐变量的维度。这里是双LSTM,因此扩充了2倍。真实隐变量的维度是指定的100。下述的单LSTM得到的输出维度是双LSTM的一半,为指定的100。
# 执行单LSTM。output_sig, (hn_sig, cn_sig) = rnn_sig(input, (h_sig, c_sig))print("output_sig.shape", output_sig.shape)print("hn_sig.shape", hn_sig.shape)print("cn_sig.shape", cn_sig.shape)
# 打印双LSTM权重信息print(rnn_bid.weight_hh_l0.shape)print(rnn_bid.weight_ih_l0.shape)print(rnn_bid.bias_hh_l0.shape)print(rnn_bid.bias_ih_l0.shape)print(rnn_bid.weight_hh_l0_reverse.shape)print(rnn_bid.weight_ih_l0_reverse.shape)print(rnn_bid.bias_hh_l0_reverse.shape)print(rnn_bid.bias_ih_l0.shape)
这里所有的权重的横向维度应该是hidden_size=100,但由于具体实现的原因,将遗忘门、输出门、输入门、候选记忆单元的权重矩阵进行了拼接,因此是原先的4倍。
# 打印单LSTM权重信息print(rnn_sig.weight_hh_l0.shape)print(rnn_sig.weight_ih_l0.shape)print(rnn_sig.bias_hh_l0.shape)print(rnn_sig.bias_ih_l0.shape)
pytorch实现LSTM时,会将计算输入门、输出门、遗忘门、候选记忆单元的权重矩阵进行拼接,也就是在计算h隐变量时:原本为hidden_size * hidden_size大小的权重矩阵变为 4*hidden_size * hidden_size大小。在计算输入时:原本为hidden_size * input_size变为4 * hidden_size * input_size。
这里的input_size就是NLP中词向量的维度,也是CV中patch的特征维度,为了使用NLP的方法,CV中需要对图片进行切片,将其转换为序列数据进行处理,这种转换需要按照一定的规则进行,排列也需要一定的顺序,这样可利用NLP可处理序列化数据的特性。切分的过程就是重组图片的过程,time_step是NLP中每个句子的长度,每个句子的长度可能不一,可使用特殊编码词补全。这里time_step转换到CV就是将图片切分的块数。而句子中每个词的词向量的长度就是表征这个词的特征向量的长度,这个特征向量通过编码得到,这个概念转换到CV中就是每个patch的特征向量,在CV中,每个patch中特征向量的成分是关键,一般这种特征需要包含局部信息和全局信息,以此来尽可能的表征该patch的属性,从而方便的用于各种目的。
关键词:
环球热门:对LSTM应用于图像的初步理解
【数论与组合数学 1】数论简介、素数、算数基本定理
JS回调地狱
天天视讯!GTX 1050 Ti就能跑!顽皮狗公布《最后生还者:Part 1》PC版配置要求
世界看点:自称12年驾龄 特斯拉Model X车主在线维权:踩刹车没反应加速撞柱子
天天观察:苹果古典音乐软件已上架:Apple Music会员免费用!中国市场随后推出
当前资讯!明基推出首款48寸OLED电竞显示器:4K 120Hz、90W反向供电
《生化危机4:重制版》PS5版疑似已偷跑 小心剧透啊
世界百事通!illustrator学习心得体会(illustrator序列号)
工厂模式进阶用法,如何动态选择对象?
迷你天猫商城代码审计
焦点简讯:K8S 性能优化 - K8S APIServer 调优
【全球聚看点】Prompt-Engineering-Guide 学习摘要1
前端设计模式——装饰者模式
65寸4K大屏电视不到2000元 LCD白菜价即将结束:3月价格上涨10%
环球微头条丨最强AI再次进化 ChatGPT下周升级GPT-4:支持视频了
【环球聚看点】免费玩!《生化危机4:重制版》体验版上线:不限时、不限次
当前滚动:德国电动空中出租车Lilium jet完成测试:时速250km/h 全机36个电风扇
杀疯了!长安深夜放大招 购车百亿补贴:深蓝SL03直降2.2万
世界快看点丨分享几个常用的运维 shell 脚本
世界观点:佳兆业成今年首家复牌出险房企
全球球精选!一座河南小县城的全球钻石生意爆火:价格不到天然的1/3
我国再次成功发射一箭双星:天绘六号A/B星顺利进入预定轨道
当前快看:资助8年的女生毕业放弃工作 嫁给有钱人成家庭主妇 资助人:失眠好几天
天天通讯!上班族如何备考公务员_如何备考公务员
全球焦点!读Java性能权威指南(第2版)笔记12_堆内存中
怎么处理消息重发的问题?
每日热点:HEU KMS Activator 30.0.0全能系统数字许可激活工具(全新体验纪念版)
环球热议:用盆吃10袋泡面男子火了 回应月薪2万邀约:浇完家里18亩地再说
实时:第127篇:异步函数(async和await)练习题(异步,消息队列)
焦点!【LeetCode回溯算法#05】分割回文串(复习双指针判断回文以及substr函数使用记录)
今日热议:【django-vue】celery延迟任务、定时任务 django中使用celery 秒杀功能 双写一致性 首页轮播图定时更新 课程前端页面
世界热头条丨关于JAVA泛型数组类型擦除引发的问题及解决方案
环球今日讯!Mint安装MySQL
快讯:苹果iPhone 14黄色款预售:全新配色不加价 5999元起
天天微速讯:租客辞职要搬走被房东介绍工作 当事人感动
即时焦点:一辆腾势敢占两个充电桩:真不怕挨揍?
“常温超导”把A股都晃晕了!真要改变我们的生活?
《霍格沃茨之遗》渗人面部Bug:玩家看了起鸡皮疙瘩
全球短讯!美环保署署长:将在今年最终确定甲烷排放规则
21世纪20年代是几几年(21世纪20年代是几几年)
爆肝两万字,详解fastdfs分布式文件系统
初识rollup 打包、配置vue脚手架
世界热议:62.类模板
当前热文:C语言——可变参函数
陕西招聘会现3万月薪岗位学生排长龙 招聘人员:半天收简历150份
当前动态:供不应求!真我GT Neo5 1TB版真香:二手用户也抢着要
“山药成了精”?男子买到奇葩山药外形酷似人脚掌
每日视点!快速读懂Redis分布式锁的实现和原理
美少女三消游戏 《Mirror 2: Project X》开发组宣布破产解散
酒店回应到211大学招服务员:符合流程 面向所有高校毕业生
快看点丨京东CEO徐雷:百亿补贴效果超过预期、要做天天低价
【新要闻】比亚迪加入降价大军!宋Pro DM-i限时优惠:88元折扣6888元
焦点简讯:耳机煲机一般要煲多久_耳机煲机方法是什么?买回来新耳机要怎样煲?耳机要煲多久?
世界热点评!前端如何相对优雅管理api
全球速看:浙四医院官网招聘2021_浙四医院官网
环球观点:京东2022年收入超1万亿:“百亿补贴”会一直有!
简约时尚 健身备一件:361°新款轻薄速干衣39元冲量
越来越卖不动了!最畅销十款数码相机一览:索尼成赢家 第一性价比绝
全球通讯!Intel的大小核CPU架构:最终还是把一些老游戏坑了
往返近1000元!景区回应坐滑竿上山按斤收费:网友力挺明码标价
天天实时:【翻译】发布 .NET 8 Preview 1
前沿资讯!海洋风筝爆火 一周暴涨498%超过秋裤!网友:春天的信号
天天消息!甜香丝滑 旺旺邦德低脂轻乳咖啡官方狂促:合2元一瓶
《银河护卫队3》导演回击网友言论:确定选角不因其是黑人
世界热议:东风系引发车市价格大战!纯电宝马i3终端大促销:最大降幅超10万
每日热点:日本原药温和驱蚊配方:超威电热蚊香液3瓶1器14.9元发车
快讯:uni-popup 遮不住头部标题的解决办法
环球焦点!网友晒空荡新房 各大品牌疯狂随份子 开局一套房其他全靠送
快播:女子在地铁上脱鞋抠脚死皮掉一地 杭州地铁回应:列车到站会打扫
世界速递!为拯救者Y9000P 2023量身打造:联想推出新140W氮化镓适配器
每日看点!富士康否认清退临时工拆除流水线:运转正常
全球即时:美国一特斯拉撞上消防车造成一死一伤 现场惨烈!调查结果让人心痛
Envisics获得5000万美元C轮融资
当前滚动:(数据库系统概论|王珊)第十一章并发控制-第二、三、四节:封锁、封锁协议活锁和死锁
每日焦点!「中华田园敏捷开发」,是老板无能还是程序员无力?
【世界聚看点】探究SMC局部代码加密技术以及在CTF中的运用
记录--Vue自定义指令实现加载中效果v-load(不使用Vue.extend)
【焦点热闻】十分钟读懂火山引擎 DataLeap 数据治理实践
老头环壶头哥:击败女武神超4千次 期待DLC到来
天天资讯:儿子沉迷手机爸爸帮请假“逼”他连玩17小时:效果很好
焦点消息!供应iPhone 15的OLED屏幕漏光?国产面板一哥京东方回应:不予评价
当前关注:纵享丝滑 回味愉悦:德芙巧克力37.5元/斤(官价5折)
每日速看!成龙进组20天把半年的封闭用完了!新电影《龙马精神》4月上映:有吴京参演
每日视点!通过案例讲解python循环语句
【全球独家】基于应用理解的协议栈优化
关注:串口登录提示"Login incorrect"
热推荐:节能降耗 | AIRIOT智慧电力综合管理解决方案
实时:C++笔记--函数、预处理
【天天播资讯】为啥人一上车就爱睡觉?原来是被“催眠”了
全球观察:95后大厂女生裸辞开麻将馆当保洁:很享受自由和成就感
全球今日报丨2030年前后我国将实施火星采样返回:难度很大
【全球播资讯】特斯拉中国2月销量出炉 比亚迪能打5个特斯拉
航班晚点 山航机长提速帮乘客5分钟极限转机:提前20分钟到达
速递!首钢股份:2月重点产品产量同比均提升 预计国内钢材价格短期震荡偏强
焦点播报:Python常见面试题012. 可迭代对象和迭代器有啥区别?
从5分钟到60秒,袋鼠云数栈在热重启技术上的提效探索之路
世界观天下!我的脑内恋碍选项第二季会出吗_我的脑内恋碍选项第二季
【天天报资讯】ChatGPT火出圈!人工智能工程师平均招聘月薪突破2.5万
环球热文:三星推出冰淇淋主题键鼠套装:薄荷配色如此清凉