deep_dream算法总结
深度学习(正向传播即分类,反向传播即生成):
1、经过训练后每一层都会逐步提取图像的更高层次特征,直到最后一层基本上决定图像显示的内容。
2、特征变化趋势:边缘和拐角(轮廓) => 整体的特征(文理和笔触等) => 越来越多的复杂特征
deep_drean的整体思想:
- 输入任务无关的图片,通过网络提取特征,反向传播更新图片中的像素点(非新网络参数),不断迭代让网络越来越相信输入图片属于分类任务中的某一类。
- 网络不断更新图片像素来最大化L2范数,使得提取的特征越来越大,经过网络之后提取的特征更像网络希望提取的特征
- 本质上:一个梯度上升过程,试图最大化特定层激活的L2范数
deep_dream的训练技巧:
1、随机抖动偏移图像,产生噪声,加快训练
shift_x, shift_y = np.random.randint(-max_jitter, max_jitter + 1, 2)
img = np.roll(np.roll(img, shift_x, -1), shift_y, -2) # 数组沿着一个维度进行平移
2、规则化梯度上升步长的幅度
3、在多个尺度上应用上升
如何控制梦境?
即控制图片中出现的东西(调整优化的目标,将原始图像向另一张图像逼近,可以定义一个指向性的优化目标):
step1:输入一张图片作为梦境的控制图片
step2:控制图片经网络前向传播得到特征向量t1,而原始图片也得到特征向量t2
step3:比较特征向量t1和t2,(1)将它们重新排列成新的矩阵,(2)做矩阵乘法,(3)选择矩阵乘法中最大的下标
step4:将step3中下标对应的原始图片的特征向量作为新的特征向量,这些特征向量被认为是最匹配控制图片特征向量的,
step5:done!实现控制梦境!
keras实现注意点:
1、预训练模型采用inception_v3,inception_v3中数据预处理是将像素点缩放到[-1, 1](除以255,减去0.5,乘以2),deep_dream将最大化后的图片数组生成图片的时候,需要从[-1, 1]反向到[0, 255](乘以2,加上0.5, 乘以255)
更多学习笔记可以关注我的微信公众号「kelly学挖掘」,欢迎交流。
-- 未完待续 --
deep_dream算法总结相关推荐
- golang通过RSA算法生成token,go从配置文件中注入密钥文件,go从文件中读取密钥文件,go RSA算法下token生成与解析;go java token共用
RSA算法 token生成与解析 本文演示两种方式,一种是把密钥文件放在配置文件中,一种是把密钥文件本身放入项目或者容器中. 下面两种的区别在于私钥公钥的初始化, init方法,需要哪种取哪种. 通过 ...
- 通用解题法——回溯算法(理解+练习)
积累算法经验,积累解题方法--回溯算法,你必须要掌握的解题方法! 什么是回溯算法呢? 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就&quo ...
- 伍六七带你学算法 进阶篇-生命游戏
有趣的算法题–生命游戏 难度-中等 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 想要体验生命游戏的小伙伴可以到这里-->生命游戏 进入 ...
- 伍六七带你学算法 进阶篇-排序算法
给定一个整数数组 nums,将该数组升序排列. 示例 1: 输入:[5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:[5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 各排序算 ...
- 伍六七带你学算法 入门篇-卡牌分组
力扣-914. 卡牌分组 难度-简单 这是一道非常有趣的题,提交通过率令人深思 ,思考它是不是一道简单的题- 开始正题: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以 ...
- 伍六七带你学算法 入门篇-最小的k个数
java面试题-最小的k个数 难度-简单 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:a ...
- 十大算法,描述+代码+演示+分析+改进(赶紧收藏!)
十大算法 1.冒泡排序 (1)算法描述 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作是重复地进行直到没有再需要 ...
- 人工智能3d建模算法_打破国外垄断,全国产3D芯片为机器人“点睛”
◎ 科技日报记者 崔爽 传统机器人只有"手",只能在固定好的点位上完成既定操作,而新一轮人工智能技术大大推动了机器和人的协作,这也对机器人的灵活性有了更高要求. 要想像人一样测量. ...
- 算法设计思想(5)— 递归法
1. 递归概念 递归 Recursion是指在函数的定义中使用函数自身的方法,直观上来看,就是某个函数自己调用自己. 递归有两层含义: 递归问题必须可以分解为若干个规模较小.与原问题形式相同的子问 ...
最新文章
- php 使用curl模拟登录discuz以及模拟发帖
- EM算法 大白话讲解 没看懂 保存
- 分层开发思想与小笼包
- linux用file命令,Linux file命令的使用
- JavaWeb 入门篇(2)Hello Servlet!!!
- Linux 安装 jdk ( 两种方式 )
- java 时间类 joda_Java日期类Joda-time的使用及性能对比
- Bootstrap3 栅格系统之列排序
- Window10 下载配置 ChromeDriver
- ModelBinder——ASP.NET MVC Model绑定的核心
- python移动文件
- 计算机软考初级信息技术试题及答案,2015年软考信息技术处理员考试模拟试题及答案...
- windows 计算机 快捷键,Windows7计算器快捷键汇总
- unity游戏开发之打包apk谷歌上架报错总结
- 消费机 mysql,中控消费机软件常见问题|中控CM20消费机教程
- HSB概念和应用场景
- 树莓派4B安装系统,配置远程连接和WiFi,更新源,更新中文支持,基本Linux命令,用Python输出hello和“你好,世界”
- 写给朝九晚五的上班族的一封信(转)
- 【面试总结】小灰灰求职进行曲(五)HR面试常见问题
- 不同开发语言 CRC 计算 CRC-16/XMODEM
热门文章
- javascript 对象{‘key1’:‘value1‘,‘key2‘:‘value2‘} 转化为数组 [{‘key1‘:‘value1‘},{‘key2‘:‘name2‘}]
- AI录音笔战场:搜狗与科大讯飞的对决
- 【bzoj1132】[POI2008]Tro 计算几何
- linux设置rx8010时间,EPSON 实时时钟芯片RX-8010SJ Application Manual应用手册.pdf
- EPSON RX8010SJ RTC 调试笔记之六, 计时更新中断功能 (Time Update Interrupt Function)
- 如何判断一个数是小数(面试题)
- fs文件系统模块常用的API
- C#实现excle数据复制粘贴到DataGrideView表格中
- matlab回文字符判断程序,(c语言)回文字符串的判断,gets和scanf
- 空间存储公链(SSCC)空间矩阵裂变机制上线基本介绍