西雅图贝尔维尤怎么样有什么好玩的

谁在玩贵族运动?盘点15位非富即贵的马术骑手 _ 东方财富网
谁在玩贵族运动?盘点15位非富即贵的马术骑手
东方财富网APP
方便,快捷
手机查看财经快讯
专业,丰富
一手掌握市场脉搏
手机上阅读文章
  日在英国温莎,美国歌手布鲁斯&斯普林斯廷(Bruce Springsteen)的女儿杰西卡&斯普林斯廷(Jessica Springsteen)在英国温莎皇家马术秀(Royal Windsor Horse Show)上参加A级场地障碍赛。该马术秀是英国规模最大的户外马术表演,有超过3,000匹马和马驹参加250多场障碍赛、马车越野赛和表演展示。杰西卡所骑的马来自新泽西州科兹内克的斯通希尔马场(Stone Hill Farm),她最近参加了冬季马术节(Winter Equestrian Festival),这项赛事为期12周,其每周比赛中包含有一项奥运会选拔赛。  日在格林威治公园,来自英国的扎拉&菲利普斯(Zara Pphillips)在伦敦奥运会马术三日赛期间骑着爱马“高地王国”(High Kingdom)进行盛装舞步阶段的比赛。 扎拉的母亲安妮公主(Princess Anne)是伊丽莎白二世(Queen Elizabeth II)的女儿,她的父亲马克&菲利普斯(Mark Phillips)是一位奥运会金牌得主。扎拉所骑的马来自寒鸦城堡马厩(Jackdaws Castle Stables),她目前正在伦敦奥运会的赛场上驰骋。  日星球六在巴黎北部的维勒班特,来自美国的汉娜&塞莱克(Hannah Selleck)骑着自己的爱马“卡兹诺”(Cazino)参加古琦巴黎场地障碍大师赛(Gucci Paris Masters). 汉娜是演员汤姆&塞莱克(Tom Selleck)的女儿,她参加盛装舞步所骑的马来自位于文图拉县的自家牧场。
  日在巴黎北部的维勒班特,雅典娜&奥纳西斯&鲁塞尔&德米兰达(Athina Onassis Roussel de Miranda)参加古琦马术大师赛暨国际马术大奖赛(Gucci Masters, International Grand Prix Competition)。雅典娜是船王亚里斯多德&奥纳西斯(Aristotle Onassis)的孙女,她的坐骑来自比利时的AD赛马公司(AD Sport Horses),这家公司由她跟丈夫、奥运会马术比赛金牌得主阿尔瓦罗&阿方索&米兰达&内托(Alvaro Alfonso de Miranda Neto)共同拥有和经营。  日星期四在蒙特卡洛,摩纳哥的夏洛特&卡西拉奇(Charlotte Casiraghi)骑着自己的爱马“科斯塔&维利奥”(Costa Virio)参加蒙特卡洛国际场地障碍大师赛(Jumping International of Monte Carlo)。夏洛特&卡西拉奇是卡罗琳公主(Princess Caroline of Hanover)的女儿、阿尔贝二世亲王(Prince Albert II of Monaco)的侄女,她的祖母是格蕾丝&凯利(Grace Kelly)。夏洛特最近为古琦(Gucci)拍摄了一组广告,后者是其赞助商。  希拉里&多布斯(Hillary Dobbs)是CNN(美国有线电视新闻网)主播卢&多布斯(Lou Dobbs)的女儿,她的坐骑来自自家位于新泽西州苏塞克斯的300英亩马场以及新泽西州卡利丰的雷菲尔德马场(Redfield Farm).
  珍妮弗&盖茨(Jennifer Gates)是美国首富比尔&盖茨(Bill Gates)的女儿,她骑的马来自佛罗里达州惠灵顿的马利特希尔马场(Mallet Hill)以及华盛顿州贝尔维尤的园畔马厩(Parkside Stables)。珍妮弗最近参加了冬季马术节(Winter Equestrian Festival),这项赛事为期12周,其每周比赛中包含有一项奥运会选拔赛。  乔治娜&布隆伯格(Georgina Bloomberg)是纽约亿万富豪市长迈克尔&布隆伯格(Michael Bloomberg)的女儿,她的坐骑来自纽约州北塞勒姆的北高谭马厩(Gotham North stables)以及佛罗里达州惠灵顿的南高谭马厩(Gotham South stables)。乔治娜因为需要从背部手术中恢复而缺席今年的奥运选拔赛,而她的实力远在入选标准之上。  2012年在法国巴黎,叶卡捷琳娜&雷波诺列夫(Ekaterina Rybolovlev)参加古琦国际马术大师赛(International Gucci Masters Competition), 她的父亲是俄罗斯化肥大王德米特里&雷波诺列夫(Dmitry Rybolovlev).
  2005年5月在肯塔基州的路易斯维尔,夏洛特&韦伯(Charlotte Weber)站在丘吉尔唐斯赛马场(Churchill Downs race track)。夏洛特是金宝汤(Campbell Soup)的继承人之一,她在佛罗里达州的奥卡拉拥有4,500英亩的育种场和畜牧场。  凯特琳&齐格勒(Caitlin Ziegler)是艺人合作伙伴资金管理公司(Artisan Partners)首席执行官安迪&齐格勒(Andy Ziegler)的女儿,她的坐骑来自佛罗里达州惠灵顿的艺人马场(Artisan Farms).  凯蒂&迪南(Katie Dinan)是约克资本管理公司(York Capital Management)亿万富豪创始人杰米&迪南(Jamie Dinan)的女儿,她的爱马来自纽约州北塞勒姆的斯戴塞尔马场(Staysail Farm).
  佩吉&约翰逊(Paige Johnson)是黑人娱乐电视台(Black Entertainment Television)联合创始人希拉&约翰逊(Sheila Johnson)和罗伯特&约翰逊(Robert Johnson)夫妇的女儿,她骑的马来自自家位于佛罗里达州惠灵顿的沙罗曼马场(Salamander Farm).  黛西&约翰逊(Daisy Johnson)是纽约篮网队(New York Nets)亿万富豪老板及强生家族(Johnson & Johnson family)继承人伍迪&约翰逊(Woody Johnson)的女儿,她的坐骑来自新泽西州贝德明斯特的WGHR马场。  玛丽&爱丽丝&多伦斯&马龙(Mary Alice Dorrance Malone)是金宝汤(Campbell Soup)的继承人之一,她在位于宾夕法尼亚州的铁泉马场(Iron Spring Farm)培育自己的良马。
[热门]&&&[关注]&&&
请下载东方财富产品,查看实时行情和更多数据
郑重声明:东方财富网发布此信息目的在于传播更多信息,与本网站立场无关。东方财富网不保证该信息(包括但不限于文字、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。
扫一扫下载APP
东方财富产品
关注东方财富
天天基金网
扫一扫下载APP
关注天天基金美食, 餐厅餐饮, 团购,生活,优惠券-大众点评网
大众点评微信公众号
大众点评QQ公众号
华北东北:
华东地区:
中部西部:
华南地区:
国外热门:
抱歉!页面无法访问......
错误信息:
currentDate: 23:24:56
userIp:222.191.191.196, 10.76.44.10
userAgent:Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko
(C) dianping.com, All Rights Reserved. 本站发布的所有内容,未经许可,不得转载,详见 。香港:+852-
海外:+86-21-
&&&热门城市&热门城市&贝尔维尤玩乐体验
欢迎您访问贝尔维尤
入住日期:
退房日期:
航程类型:单程往返
出发日期:
返回日期:
景点名称:
类型:单程
出发日期:
贝尔维尤玩乐点
没有找到你知道的娱乐点?欢迎投稿给我们 。
贝尔维尤旅游攻略指南? 携程攻略社区! 靠谱的旅游攻略平台,最佳的贝尔维尤自助游、自由行、自驾游、跟团旅线路,海量贝尔维尤旅游景点图片、游记、交通、美食、购物、住宿、娱乐、行程、指南等旅游攻略信息,了解更多贝尔维尤旅游信息就来携程旅游攻略。 内布拉斯加州旅游攻略导航:贝尔维尤移动端旅游快速入口:
 |  |  |  |  |  |  |  |  |  
|  |  |  |  |  | 
 |  |  |  |  |  |  |  | , . All rights reserved. | &figure&&img src=&https://pic3.zhimg.com/v2-da6e908fbff06e8e14c60d86d776d225_b.jpg& data-rawwidth=&768& data-rawheight=&576& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&https://pic3.zhimg.com/v2-da6e908fbff06e8e14c60d86d776d225_r.jpg&&&/figure&&p&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-abd42bbb61ee_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&558& data-rawheight=&315& class=&origin_image zh-lightbox-thumb& width=&558& data-original=&https://pic1.zhimg.com/v2-abd42bbb61ee_r.jpg&&&/figure&&p&作为一名久经片场的老司机,早就想写一些探讨驾驶技术的文章。这篇就介绍利用生成式对抗网络(GAN)的两个基本驾驶技能:&br&&/p&&p&1) 去除(爱情)动作片中的马赛克&/p&&p&2) 给(爱情)动作片中的女孩穿(tuo)衣服&/p&&p&&br&&/p&&h2&生成式模型&/h2&&p&上一篇《&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&用GAN生成二维样本的小例子&/a&》中已经简单介绍了GAN,这篇再简要回顾一下生成式模型,算是补全一个来龙去脉。&/p&&p&生成模型就是能够产生指定分布数据的模型,常见的生成式模型一般都会有一个用于产生样本的简单分布。例如一个均匀分布,根据要生成分布的概率密度函数,进行建模,让均匀分布中的样本经过变换得到指定分布的样本,这就可以算是最简单的生成式模型。比如下面例子:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d11b5fb26d3cc8e942f841bafe010cd8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1021& data-rawheight=&443& class=&origin_image zh-lightbox-thumb& width=&1021& data-original=&https://pic1.zhimg.com/v2-d11b5fb26d3cc8e942f841bafe010cd8_r.jpg&&&/figure&&p&图中左边是一个自定义的概率密度函数,右边是相应的1w个样本的直方图,自定义分布和生成这些样本的代码如下:&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&from&/span& &span class=&nn&&functools&/span& &span class=&kn&&import&/span& &span class=&n&&partial&/span&
&span class=&kn&&import&/span& &span class=&nn&&numpy&/span&
&span class=&kn&&from&/span& &span class=&nn&&matplotlib&/span& &span class=&kn&&import&/span& &span class=&n&&pyplot&/span&
&span class=&c1&&# Define a PDF&/span&
&span class=&n&&x_samples&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&arange&/span&&span class=&p&&(&/span&&span class=&o&&-&/span&&span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&mf&&3.01&/span&&span class=&p&&,&/span& &span class=&mf&&0.01&/span&&span class=&p&&)&/span&
&span class=&n&&PDF&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&empty&/span&&span class=&p&&(&/span&&span class=&n&&x_samples&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&)&/span&
&span class=&n&&PDF&/span&&span class=&p&&[&/span&&span class=&n&&x_samples&/span& &span class=&o&&&&/span& &span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&round&/span&&span class=&p&&(&/span&&span class=&n&&x_samples&/span&&span class=&p&&[&/span&&span class=&n&&x_samples&/span& &span class=&o&&&&/span& &span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&+&/span& &span class=&mf&&3.5&/span&&span class=&p&&)&/span& &span class=&o&&/&/span& &span class=&mi&&3&/span&
&span class=&n&&PDF&/span&&span class=&p&&[&/span&&span class=&n&&x_samples&/span& &span class=&o&&&=&/span& &span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&mf&&0.5&/span& &span class=&o&&*&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&cos&/span&&span class=&p&&(&/span&&span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&pi&/span& &span class=&o&&*&/span& &span class=&n&&x_samples&/span&&span class=&p&&[&/span&&span class=&n&&x_samples&/span& &span class=&o&&&=&/span& &span class=&mi&&0&/span&&span class=&p&&])&/span& &span class=&o&&+&/span& &span class=&mf&&0.5&/span&
&span class=&n&&PDF&/span& &span class=&o&&/=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&sum&/span&&span class=&p&&(&/span&&span class=&n&&PDF&/span&&span class=&p&&)&/span&
&span class=&c1&&# Calculate approximated CDF&/span&
&span class=&n&&CDF&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&empty&/span&&span class=&p&&(&/span&&span class=&n&&PDF&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&)&/span&
&span class=&n&&cumulated&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&
&span class=&k&&for&/span& &span class=&n&&i&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&n&&CDF&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]):&/span&
&span class=&n&&cumulated&/span& &span class=&o&&+=&/span& &span class=&n&&PDF&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&
&span class=&n&&CDF&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&cumulated&/span&
&span class=&c1&&# Generate samples&/span&
&span class=&n&&generate&/span& &span class=&o&&=&/span& &span class=&n&&partial&/span&&span class=&p&&(&/span&&span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&interp&/span&&span class=&p&&,&/span& &span class=&n&&xp&/span&&span class=&o&&=&/span&&span class=&n&&CDF&/span&&span class=&p&&,&/span& &span class=&n&&fp&/span&&span class=&o&&=&/span&&span class=&n&&x_samples&/span&&span class=&p&&)&/span&
&span class=&n&&u_rv&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&random&/span&&span class=&o&&.&/span&&span class=&n&&random&/span&&span class=&p&&(&/span&&span class=&mi&&10000&/span&&span class=&p&&)&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&n&&generate&/span&&span class=&p&&(&/span&&span class=&n&&u_rv&/span&&span class=&p&&)&/span&
&span class=&c1&&# Visualization&/span&
&span class=&n&&fig&/span&&span class=&p&&,&/span& &span class=&p&&(&/span&&span class=&n&&ax0&/span&&span class=&p&&,&/span& &span class=&n&&ax1&/span&&span class=&p&&)&/span& &span class=&o&&=&/span& &span class=&n&&pyplot&/span&&span class=&o&&.&/span&&span class=&n&&subplots&/span&&span class=&p&&(&/span&&span class=&n&&ncols&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&figsize&/span&&span class=&o&&=&/span&&span class=&p&&(&/span&&span class=&mi&&9&/span&&span class=&p&&,&/span& &span class=&mi&&4&/span&&span class=&p&&))&/span&
&span class=&n&&ax0&/span&&span class=&o&&.&/span&&span class=&n&&plot&/span&&span class=&p&&(&/span&&span class=&n&&x_samples&/span&&span class=&p&&,&/span& &span class=&n&&PDF&/span&&span class=&p&&)&/span&
&span class=&n&&ax0&/span&&span class=&o&&.&/span&&span class=&n&&axis&/span&&span class=&p&&([&/span&&span class=&o&&-&/span&&span class=&mf&&3.5&/span&&span class=&p&&,&/span& &span class=&mf&&3.5&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&max&/span&&span class=&p&&(&/span&&span class=&n&&PDF&/span&&span class=&p&&)&/span&&span class=&o&&*&/span&&span class=&mf&&1.1&/span&&span class=&p&&])&/span&
&span class=&n&&ax1&/span&&span class=&o&&.&/span&&span class=&n&&hist&/span&&span class=&p&&(&/span&&span class=&n&&x&/span&&span class=&p&&,&/span& &span class=&mi&&100&/span&&span class=&p&&)&/span&
&span class=&n&&pyplot&/span&&span class=&o&&.&/span&&span class=&n&&show&/span&&span class=&p&&()&/span&
&/code&&/pre&&/div&&p&对于一些简单的情况,我们会假设已知有模型可以很好的对分布进行建模,缺少的只是合适的参数。这时候很自然只要根据观测到的样本,学习参数让当前观测到的样本下的似然函数最大,这就是最大似然估计(&b&M&/b&aximum &b&L&/b&ikelihood &b&E&/b&stimation):&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=%5Chat%7B%5Ctheta%7D%3D%5Coperatorname%2A%7Bargmax%7D_%7B%5Ctheta%7D+P%28%5Cbm%7Bx%7D%7C%5Ctheta%29+%3D+%5Coperatorname%2A%7Bargmax%7D_%7B%5Ctheta%7D+%5Cprod_%7Bi%3D1%7D%5E%7Bn%7DP%28x_i%7C%5Ctheta%29+& alt=&\hat{\theta}=\operatorname*{argmax}_{\theta} P(\bm{x}|\theta) = \operatorname*{argmax}_{\theta} \prod_{i=1}^{n}P(x_i|\theta) & eeimg=&1&&&/p&&p&MLE是一个最基本的思路,实践中用得很多的还有KL散度(Kullback–Leibler divergence),假设真实分布是P,采样分布是Q,则KL散度为:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=D_%7BKL%7D%28P%7C%7CQ%29%3D%5Csum_%7Bx+%5Cin+%5COmega%7DP%28%7Bx%7D%29%5Clog%5Cfrac%7BP%28x%29%7D%7BQ%28x%29%7D+& alt=&D_{KL}(P||Q)=\sum_{x \in \Omega}P({x})\log\frac{P(x)}{Q(x)} & eeimg=&1&&&/p&&p&从公式也能看出来,KL散度描述的是两个分布的差异程度。换个角度来看,让产生的样本和原始分布接近,也就是要让这俩的差异减小,所以最小化KL散度就等同于MLE。从公式上来看的话,我们考虑把公式具体展开一下:&/p&&p&&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=%5Cbegin%7Balign%7D+D_%7BKL%7D%28P%7C%7CQ%29+%26%3D%5Csum_%7Bx+%5Cin+%5COmega%7DP%28%7Bx%7D%29%5Clog%5Cfrac%7BP%28x%29%7D%7BQ%28x%29%7D+%5C%5C+%26+%3D-%5Csum_%7Bx%5Cin%5COmega%7DP%28%7Bx%7D%29%5Clog%7BQ%28x%29%7D+%2B%5Csum_%7Bx%5Cin%5COmega%7DP%28%7Bx%7D%29%5Clog%7BP%28x%29%7D+%5C%5C+%26+%3D-%5Csum_%7Bx%5Cin%5COmega%7DP%28%7Bx%7D%29%5Clog%7BQ%28x%29%7D+%2BH%28P%29+%5Cend%7Balign%7D& alt=&\begin{align} D_{KL}(P||Q) &=\sum_{x \in \Omega}P({x})\log\frac{P(x)}{Q(x)} \\ & =-\sum_{x\in\Omega}P({x})\log{Q(x)} +\sum_{x\in\Omega}P({x})\log{P(x)} \\ & =-\sum_{x\in\Omega}P({x})\log{Q(x)} +H(P) \end{align}& eeimg=&1&&&/p&&p&公式的第二项就是熵,先不管这项,用H(P)表示。接下来考虑一个小trick:从Q中抽样n个样本&img src=&https://www.zhihu.com/equation?tex=%7Bx_1%2Cx_2%2C...%2Cx_n%7D& alt=&{x_1,x_2,...,x_n}& eeimg=&1&&,来估算P(x)的经验值(empirical density function):&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=%5Chat%7BP%7D%28x%29%3D%5Cfrac+1+n+%5Csum_%7Bi%3D1%7D%5En+%5Cdelta%28x_i-x%29& alt=&\hat{P}(x)=\frac 1 n \sum_{i=1}^n \delta(x_i-x)& eeimg=&1&&&/p&&p&其中&img src=&https://www.zhihu.com/equation?tex=%5Cdelta%28%5Ccdot%29& alt=&\delta(\cdot)& eeimg=&1&&是狄拉克&img src=&https://www.zhihu.com/equation?tex=%5Cdelta& alt=&\delta& eeimg=&1&&函数,把这项替换到上面公式的P(x):&/p&&p&&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=%5Cbegin%7Balign%7D+D_%7BKL%7D%28P%7C%7CQ%29+%26%3D-%5Csum_%7Bx%5Cin%5COmega%7D%5Cfrac+1+n+%5Csum_%7Bi%3D1%7D%5En+%5Cdelta%28x_i-x%29%5Clog%7BQ%28x%29%7D+%2BH%28P%29+%5C%5C+%26+%3D-%5Cfrac+1+n+%5Csum_%7Bi%3D1%7D%5En+%5Csum_%7Bx%5Cin%5COmega%7D+%5Cdelta%28x_i-x%29%5Clog%7BQ%28x%29%7D+%2BH%28P%29+%5Cend%7Balign%7D& alt=&\begin{align} D_{KL}(P||Q) &=-\sum_{x\in\Omega}\frac 1 n \sum_{i=1}^n \delta(x_i-x)\log{Q(x)} +H(P) \\ & =-\frac 1 n \sum_{i=1}^n \sum_{x\in\Omega} \delta(x_i-x)\log{Q(x)} +H(P) \end{align}& eeimg=&1&&&/p&&p&因为是离散的采样值,所以&img src=&https://www.zhihu.com/equation?tex=%5Csum_%7Bx%5Cin%5COmega%7D+%5Cdelta%28x_i-x%29& alt=&\sum_{x\in\Omega} \delta(x_i-x)& eeimg=&1&&中只有&img src=&https://www.zhihu.com/equation?tex=x%3Dx_i& alt=&x=x_i& eeimg=&1&&的时候狄拉克&img src=&https://www.zhihu.com/equation?tex=%5Cdelta& alt=&\delta& eeimg=&1&&函数才为1,所以考虑&img src=&https://www.zhihu.com/equation?tex=x%3Dx_i& alt=&x=x_i& eeimg=&1&&时这项直接化为1:&/p&&p&&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=D_%7BKL%7D%28P%7C%7CQ%29+%3D-%5Cfrac+1+n%5Csum_%7Bi%3D1%7D%5En+%5Clog%7BQ%28x_i%29%7D+%2BH%28P%29& alt=&D_{KL}(P||Q) =-\frac 1 n\sum_{i=1}^n \log{Q(x_i)} +H(P)& eeimg=&1&&&/p&&p&第一项正是似然的负对数形式。&/p&&p&说了些公式似乎跑得有点远了,其实要表达还是那个简单的意思:通过减小两个分布的差异可以让一个分布逼近另一个分布。仔细想想,这正是GAN里面adversarial loss的做法。&/p&&p&很多情况下我们面临的是更为复杂的分布,比如&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&上篇文章&/a&中的例子,又或是实际场景中更复杂的情况,比如生成不同人脸的图像。这时候,作为具有universal approximation性质的神经网络是一个看上去不错的选择[1]:&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-6fee20494f50baae2c1dc5fc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1561& data-rawheight=&549& class=&origin_image zh-lightbox-thumb& width=&1561& data-original=&https://pic2.zhimg.com/v2-6fee20494f50baae2c1dc5fc_r.jpg&&&/figure&&p&所以虽然GAN里面同时包含了生成网络和判别网络,但本质来说GAN的目的还是生成模型。从生成式模型的角度,Ian Goodfellow总结过一个和神经网络相关生成式方法的“家谱”[1]:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-8c6f1d8ee39dfbb4fcfb2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&771& data-rawheight=&498& class=&origin_image zh-lightbox-thumb& width=&771& data-original=&https://pic4.zhimg.com/v2-8c6f1d8ee39dfbb4fcfb2_r.jpg&&&/figure&&p&在这其中,当下最流行的就是GAN和&b&V&/b&ariational &b&A&/b&uto&b&E&/b&ncoder(VAE),两种方法的一个简明示意如下[3]:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-380cde71a2f6ece28b4a97_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&568& data-rawheight=&274& class=&origin_image zh-lightbox-thumb& width=&568& data-original=&https://pic1.zhimg.com/v2-380cde71a2f6ece28b4a97_r.jpg&&&/figure&&p&本篇不打算展开讲什么是VAE,不过通过这个图,和名字中的autoencoder也大概能知道,VAE中生成的loss是基于重建误差的。而只基于重建误差的图像生成,都或多或少会有图像模糊的缺点,因为误差通常都是针对全局。比如基于MSE(Mean Squared Error)的方法用来生成超分辨率图像,容易出现下面的情况[4]:&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-78f53b142fab51b0c09a1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&892& data-rawheight=&598& class=&origin_image zh-lightbox-thumb& width=&892& data-original=&https://pic1.zhimg.com/v2-78f53b142fab51b0c09a1_r.jpg&&&/figure&&p&在这个二维示意中,真实数据分布在一个U形的流形上,而MSE系的方法因为loss的形式往往会得到一个接近平均值所在的位置(蓝色框)。&/p&&p&GAN在这方面则完爆其他方法,因为目标分布在流形上。所以只要大概收敛了,就算生成的图像都看不出是个啥,清晰度常常是有保证的,而这正是去除女优身上马赛克的理想特性!&/p&&p&&br&&/p&&h2&马赛克-&清晰画面:超分辨率(Super Resolution)问题&/h2&&p&说了好些铺垫,终于要进入正题了。首先明确,去马赛克其实是个图像超分辨率问题,也就是如何在低分辨率图像基础上得到更高分辨率的图像:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-31c84b42ad_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&784& data-rawheight=&324& class=&origin_image zh-lightbox-thumb& width=&784& data-original=&https://pic2.zhimg.com/v2-31c84b42ad_r.jpg&&&/figure&&p&视频中超分辨率实现的一个套路是通过不同帧的低分辨率画面猜测超分辨率的画面,有兴趣了解这个思想的朋友可以参考我之前的一个答案:&a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何通过多帧影像进行超分辨率重构? &/a& &/p&&p&不过基于多帧影像的方法对于女优身上的马赛克并不是很适用,所以这篇要讲的是基于单帧图像的超分辨率方法。&/p&&h2&SRGAN&/h2&&p&说到基于GAN的超分辨率的方法,就不能不提到SRGAN[4]:《Photo-Realistic Single Image &b&S&/b&uper-&b&R&/b&esolution Using a &b&G&/b&enerative &b&A&/b&dversarial&br&&b&N&/b&etwork》。这个工作的思路是:基于像素的MSE loss往往会得到大体正确,但是高频成分模糊的结果。所以只要重建低频成分的图像内容,然后靠GAN来补全高频的细节内容,就可以了:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-128029dfc7c470b07a4a1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&446& data-rawheight=&131& class=&origin_image zh-lightbox-thumb& width=&446& data-original=&https://pic3.zhimg.com/v2-128029dfc7c470b07a4a1_r.jpg&&&/figure&&p&这个思路其实和最早基于深度网络的风格迁移的思路很像(有兴趣的读者可以参考我之前文章&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&瞎谈CNN:通过优化求解输入图像&/a&的最后一部分),其中重建内容的content loss是原始图像和低分辨率图像在VGG网络中的各个ReLU层的激活值的差异:&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-331e02e394cfd04e7114a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&529& data-rawheight=&150& class=&origin_image zh-lightbox-thumb& width=&529& data-original=&https://pic3.zhimg.com/v2-331e02e394cfd04e7114a_r.jpg&&&/figure&&p&生成细节adversarial loss就是GAN用来判别是原始图还是生成图的loss:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-fa5af2a10fe9a4dadfb04_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&394& data-rawheight=&89& class=&content_image& width=&394&&&/figure&&p&把这两种loss放一起,取个名叫perceptual loss。训练的网络结构如下:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-17861edeb4bcfae4e9f369_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&780& data-rawheight=&400& class=&origin_image zh-lightbox-thumb& width=&780& data-original=&https://pic1.zhimg.com/v2-17861edeb4bcfae4e9f369_r.jpg&&&/figure&&p&正是上篇文章中讲过的C-GAN,条件C就是低分辨率的图片。SRGAN生成的超分辨率图像虽然PSNR等和原图直接比较的传统量化指标并不是最好,但就视觉效果,尤其是细节上,胜过其他方法很多。比如下面是作者对比bicubic插值和基于ResNet特征重建的超分辨率的结果:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f3b4376938ffcbd23c42d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&981& data-rawheight=&392& class=&origin_image zh-lightbox-thumb& width=&981& data-original=&https://pic4.zhimg.com/v2-f3b4376938ffcbd23c42d_r.jpg&&&/figure&&p&可以看到虽然很多细节都和原始图片不一样,不过看上去很和谐,并且细节的丰富程度远胜于SRResNet。这些栩栩如生的细节,可以看作是GAN根据学习到的分布信息“联想”出来的。&/p&&p&对于更看重“看上去好看”的超分辨率应用,SRGAN显然是很合适的。当然对于一些更看重重建指标的应用,比如超分辨率恢复嫌疑犯面部细节,SRGAN就不可以了。&/p&&h2&pix2pix&/h2&&p&虽然专门用了一节讲SRGAN,但本文用的方法其实是pix2pix[5]。这项工作刚在arxiv上发布就引起了不小的关注,它巧妙的利用GAN的框架解决了通用的Image-to-Image translation的问题。举例来说,在不改变分辨率的情况下:把照片变成油画风格;把白天的照片变成晚上;用色块对图片进行分割或者倒过来;为黑白照片上色;…每个任务都有专门针对性的方法和相关研究,但其实总体来看,都是像素到像素的一种映射啊,其实可以看作是一个问题。这篇文章的巧妙,就在于提出了pix2pix的方法,一个框架,解决所有这些问题。方法的示意图如下:&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-e2ea753b7b0d7f18abee3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&485& data-rawheight=&437& class=&origin_image zh-lightbox-thumb& width=&485& data-original=&https://pic1.zhimg.com/v2-e2ea753b7b0d7f18abee3_r.jpg&&&/figure&&p&就是一个Conditional GAN,条件C是输入的图片。除了直接用C-GAN,这项工作还有两个改进:&/p&&p&1)&b&利用U-Net结构生成细节更好的图片&/b&[6]&/p&&figure&&img src=&https://pic4.zhimg.com/v2-beb074bebbfa0db_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&907& data-rawheight=&612& class=&origin_image zh-lightbox-thumb& width=&907& data-original=&https://pic4.zhimg.com/v2-beb074bebbfa0db_r.jpg&&&/figure&&p&U-Net是德国Freiburg大学模式识别和图像处理组提出的一种全卷积结构。和常见的先降采样到低维度,再升采样到原始分辨率的编解码(Encoder-Decoder)结构的网络相比,U-Net的区别是加入skip-connection,对应的feature maps和decode之后的同样大小的feature maps按通道拼(concatenate)一起,用来保留不同分辨率下像素级的细节信息。U-Net对提升细节的效果非常明显,下面是pix2pix文中给出的一个效果对比:&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-2fb4ddb2fdc24eea31eea_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&563& data-rawheight=&307& class=&origin_image zh-lightbox-thumb& width=&563& data-original=&https://pic4.zhimg.com/v2-2fb4ddb2fdc24eea31eea_r.jpg&&&/figure&&p&可以看到,各种不同尺度的信息都得到了很大程度的保留。&/p&&p&2)&b&利用马尔科夫性的判别器(PatchGAN)&br&&/b&&/p&&p&pix2pix和SRGAN的一个异曲同工的地方是都有用重建解决低频成分,用GAN解决高频成分的想法。在pix2pix中,这个思想主要体现在两个地方。一个是loss函数,加入了L1 loss用来让生成的图片和训练的目标图片尽量相似,而图像中高频的细节部分则交由GAN来处理:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-cb180ad03d8a72e7883285b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&447& data-rawheight=&51& class=&origin_image zh-lightbox-thumb& width=&447& data-original=&https://pic4.zhimg.com/v2-cb180ad03d8a72e7883285b_r.jpg&&&/figure&&p&还有一个就是&b&PatchGAN&/b&,也就是具体的GAN中用来判别是否生成图的方法。PatchGAN的思想是,既然GAN只负责处理低频成分,那么判别器就没必要以一整张图作为输入,只需要对NxN的一个图像patch去进行判别就可以了。这也是为什么叫Markovian discriminator,因为在patch以外的部分认为和本patch互相独立。&/p&&p&具体实现的时候,作者使用的是一个NxN输入的全卷积小网络,最后一层每个像素过sigmoid输出为真的概率,然后用BCEloss计算得到最终loss。这样做的好处是因为输入的维度大大降低,所以参数量少,运算速度也比直接输入一张快,并且可以计算任意大小的图。作者对比了不同大小patch的结果,对于256x256的输入,patch大小在70x70的时候,从视觉上看结果就和直接把整张图片作为判别器输入没什么区别了:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-5172ca51efb4ee3e453b15_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&842& data-rawheight=&107& class=&origin_image zh-lightbox-thumb& width=&842& data-original=&https://pic1.zhimg.com/v2-5172ca51efb4ee3e453b15_r.jpg&&&/figure&&h2&生成带局部马赛克的训练数据&/h2&&p&利用pix2pix,只要准备好无码和相应的有码图片就可以训练去马赛克的模型了,就是这么简单。那么问题是,如何生成有马赛克的图片?&/p&&p&有毅力的话,可以手动加马赛克,这样最为精准。这节介绍一个不那么准,但是比随机强的方法:利用分类模型的激活区域进行自动马赛克标注。&/p&&p&基本思想是利用一个可以识别需要打码图像的分类模型,提取出这个模型中对应类的CAM(&b&C&/b&lass &b&A&/b&ctivation &b&M&/b&ap)[7],然后用马赛克遮住响应最高的区域即可。这里简单说一下什么是CAM,对于最后一层是全局池化(平均或最大都可以)的CNN结构,池化后的feature map相当于是做了个加权相加来计算最终的每个类别进入softmax之前的激活值。CAM的思路是,把这个权重在池化前的feature map上按像素加权相加,最后得到的单张的激活图就可以携带激活当前类别的一些位置信息,这相当于一种弱监督(classification--&localization):&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-fd28f0b871bd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&660& data-rawheight=&314& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&https://pic4.zhimg.com/v2-fd28f0b871bd_r.jpg&&&/figure&&p&上图是一个CAM的示意,用澳洲梗类别的CAM,放大到原图大小,可以看到小狗所在的区域大致是激活响应最高的区域。&/p&&p&那么就缺一个可以识别XXX图片的模型了,网上还恰好就有个现成的,yahoo于2016年发布的开源色情图片识别模型Open NSFW(&b&N&/b&ot &b&S&/b&afe &b&F&/b&or &b&W&/b&ork):&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//github.com/yahoo/open_nsfw& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&yahoo/open_nsfw&/a&&/p&&p&CAM的实现并不难,结合Open NSFW自动打码的代码和使用放在了这里:&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//github.com/frombeijingwithlove/dlcv_for_beginners/tree/master/random_bonus/generate_mosaic_for_porno_images& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&给XX图片生成马赛克&/a&&/p&&p&&br&&/p&&p&(成功打码的)效果差不多是下面这样子:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-cbefa39dc983f2645dd8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&768& data-rawheight=&256& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&https://pic3.zhimg.com/v2-cbefa39dc983f2645dd8_r.jpg&&&/figure&&h2&去除(爱情)动作片中的马赛克&/h2&&p&这没什么好说的了,一行代码都不用改,只需要按照前面的步骤把数据准备好,然后按照pix2pix官方的使用方法训练就可以了:&/p&&p&Torch版pix2pix:&a href=&https://link.zhihu.com/?target=https%3A//github.com/phillipi/pix2pix& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&phillipi/pix2pix&/a&&/p&&p&pyTorch版pix2pix(Cycle-GAN二合一版):&a href=&https://link.zhihu.com/?target=https%3A//github.com/junyanz/pytorch-CycleGAN-and-pix2pix& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&junyanz/pytorch-CycleGAN-and-pix2pix&/a&&/p&&p&从D盘里随随便便找了几千张图片,用来执行了一下自动打码和pix2pix训练(默认参数),效果是下面这样:&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-9f52b17c0e1296767cbfbfafc290a5bd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&814& data-rawheight=&691& class=&origin_image zh-lightbox-thumb& width=&814& data-original=&https://pic4.zhimg.com/v2-9f52b17c0e1296767cbfbfafc290a5bd_r.jpg&&&/figure&&p&什么?你问说好给女优去马赛克呢?女优照片呢?&/p&&figure&&img src=&https://pic4.zhimg.com/v2-480fb8a4dcfc7a4f92ec_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&75& data-rawheight=&60& class=&content_image& width=&75&&&/figure&&p&还是要说一下,在真人照片上的效果比蘑菇和花强。&/p&&h2&对偶学习(Dual Learning)&/h2&&p&去马赛克已经讲完了,接下来就是给女孩穿(tuo)衣服了,动手之前,还是先讲一下铺垫:&b&对偶学习&/b&和&b&Cycle-GAN&/b&。&/p&&p&对偶学习是MSRA于2016年提出的一种用于机器翻译的增强学习方法[8],目的是解决海量数据配对标注的难题,个人觉得算是一种弱监督方法(不过看到大多数文献算作无监督)。以机器翻译为例,对偶学习基本思想如下图[9]:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c4b1eeda364fb6c9bada02f3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&866& data-rawheight=&399& class=&origin_image zh-lightbox-thumb& width=&866& data-original=&https://pic3.zhimg.com/v2-c4b1eeda364fb6c9bada02f3_r.jpg&&&/figure&&p&左边的灰衣男只懂英语,右边的黑衣女只懂中文,现在的任务就是,要学习如何翻译英语到中文。对偶学习解决这个问题的思路是:给定一个模型&img src=&https://www.zhihu.com/equation?tex=f%3Ax%5Crightarrow+y& alt=&f:x\rightarrow y& eeimg=&1&&一上来无法知道f翻译得是否正确,但是如果考虑上&img src=&https://www.zhihu.com/equation?tex=f& alt=&f& eeimg=&1&&的对偶问题&img src=&https://www.zhihu.com/equation?tex=g%3Ay%5Crightarrow+x& alt=&g:y\rightarrow x& eeimg=&1&&,那么我可以尝试翻译一个英文句子到中文,再翻译回来。这种转了一圈的结果&img src=&https://www.zhihu.com/equation?tex=x%27%3Dg%28f%28x%29%29& alt=&x'=g(f(x))& eeimg=&1&&,灰衣男是可以用一个标准(BLEU)判断x'和x是否一个意思,并且把结果的一致性反馈给这两个模型进行改进。同样的,从中文取个句子,这样循环翻译一遍,两个模型又能从黑衣女那里获取反馈并改进模型。其实这就是强化学习的过程,每次翻译就是一个action,每个action会从环境(灰衣男或黑衣女)中获取reward,对模型进行改进,直至收敛。&/p&&p&也许有的人看到这里会觉得和上世纪提出的Co-training很像,这个在知乎上也有讨论:&/p&&p&&a href=&https://www.zhihu.com/question/& class=&internal&&如何理解刘铁岩老师团队在NIPS 2016上提出的对偶学习(Dual Learning)?&/a&&/p&&p&个人觉得还是不一样的,Co-Training是一种multi-view方法,比如一个输入x,如果看作是两个拼一起的特征&img src=&https://www.zhihu.com/equation?tex=x%3D%28x_1%2Cx_2%29& alt=&x=(x_1,x_2)& eeimg=&1&&,并且假设&img src=&https://www.zhihu.com/equation?tex=x_1& alt=&x_1& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=x_2& alt=&x_2& eeimg=&1&&互相独立,那么这时候训练两个分类器&img src=&https://www.zhihu.com/equation?tex=f_1%28%5Ccdot%29& alt=&f_1(\cdot)& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=f_2%28%5Ccdot%29& alt=&f_2(\cdot)& eeimg=&1&&对于任意样本x应该有&img src=&https://www.zhihu.com/equation?tex=f_1%28x_1%29%3Df_2%28x_2%29& alt=&f_1(x_1)=f_2(x_2)& eeimg=&1&&。这对没有标注的样本是很有用的,相当于利用了同一个样本分类结果就应该一样的隐含约束。所以Co-Training的典型场景是少量标注+大量未标注的半监督场景。并且&img src=&https://www.zhihu.com/equation?tex=f_1& alt=&f_1& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=f_2& alt=&f_2& eeimg=&1&&其实是两个不同,但是domain指向相同的任务。而Dual Learning中&img src=&https://www.zhihu.com/equation?tex=f& alt=&f& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=g& alt=&g& eeimg=&1&&是对偶任务,利用的隐含约束是&img src=&https://www.zhihu.com/equation?tex=x%5Crightarrow+y%5Crightarrow+x& alt=&x\rightarrow y\rightarrow x& eeimg=&1&&的cycle consistency。对输入的特征也没有像Co-Training有那么明确的假设,学习方法上也不一样,Dual Learning算是强化学习。&/p&&h2&CycleGAN和未配对图像翻译(Unpaired Image-to-Image Translation)&/h2&&p&CycleGAN,翻译过来就是:轮着干,是结合了对偶学习和GAN一个很直接而巧妙的想法[10],示意图如下:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-9e7396ebccb7c42302fc97_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&838& data-rawheight=&216& class=&origin_image zh-lightbox-thumb& width=&838& data-original=&https://pic4.zhimg.com/v2-9e7396ebccb7c42302fc97_r.jpg&&&/figure&&p&X和Y分别是两种不同类型图的集合,比如穿衣服的女优和没穿衣服的女优。所以给定一张穿了衣服的女优,要变成没穿衣服的样子,就是个图片翻译问题。CycleGAN示意图中(b)和(c)就是Dual Learning:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-de51cac58b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&347& data-rawheight=&62& class=&content_image& width=&347&&&/figure&&p&在Dual Learning基础上,又加入了两个判别器&img src=&https://www.zhihu.com/equation?tex=D_X& alt=&D_X& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=D_Y& alt=&D_Y& eeimg=&1&&用来进行对抗训练,让翻译过来的图片尽量逼近当前集合中的图片:&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-e0ea7a6b38bf2a20cea4ea6f741a4c67_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&442& data-rawheight=&59& class=&origin_image zh-lightbox-thumb& width=&442& data-original=&https://pic3.zhimg.com/v2-e0ea7a6b38bf2a20cea4ea6f741a4c67_r.jpg&&&/figure&&p&全考虑一起,最终的loss是:&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-e6d99e7edea969da3dad_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&357& data-rawheight=&87& class=&content_image& width=&357&&&/figure&&p&也许有人会问,那不加cycle-consistency,直接用GAN学习一个&img src=&https://www.zhihu.com/equation?tex=X%5Crightarrow+Y& alt=&X\rightarrow Y& eeimg=&1&&的映射,让生成的Y的样本尽量毕竟Y里本身的样本可不可以呢?这个作者在文中也讨论了,会产生GAN训练中容易发生的mode collapse问题。mode collapse问题的一个简单示意如下[1]:&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-309fce6329592babb784ed_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&842& data-rawheight=&262& class=&origin_image zh-lightbox-thumb& width=&842& data-original=&https://pic2.zhimg.com/v2-309fce6329592babb784ed_r.jpg&&&/figure&&p&上边的是真实分布,下边的是学习到的分布,可以看到学习到的分布只是完整分布的一部分,这个叫做partial mode collapse,是训练不收敛情况中常见的一种。如果是完全的mode collapse,就是说生成模型得到的都是几乎一样的输出。而加入Cycle-consistency会让一个domain里不同的样本都尽量映射到另一个domain里不同的地方,理想情况就是双射(bijection)。直观来理解,如果通过&img src=&https://www.zhihu.com/equation?tex=X%5Crightarrow+Y& alt=&X\rightarrow Y& eeimg=&1&&都映射在Y中同一个点,那么这个点y通过&img src=&https://www.zhihu.com/equation?tex=Y%5Crightarrow+X& alt=&Y\rightarrow X& eeimg=&1&&映射回来显然不可能是多个不同的x,所以加入cycle-consistency就帮助避免了mode collapse。这个问题在另一篇和CycleGAN其实本质上没什么不同的方法DiscoGAN中有更详细的讨论[11],有兴趣的话可以参考。&/p&&p&&br&&/p&&p&有一点值得注意的是,虽然名字叫CycleGAN,并且套路也和C-GAN很像,但是其实只有adversarial,并没有generative。因为严格来说只是学习了&img src=&https://www.zhihu.com/equation?tex=X%5Crightarrow+Y& alt=&X\rightarrow Y& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=Y%5Crightarrow+X& alt=&Y\rightarrow X& eeimg=&1&&的mapping,所谓的generative network里并没有随机性。有一个和CycleGAN以及DiscoGAN其实本质上也没什么不同的方法叫DualGAN[12],倒是通过dropout把随机性加上了。不过所有加了随机性产生的样本和原始样本间的cycle-consistency用的还是l1 loss,总觉得这样不是很对劲。当然现在GAN这么热门,其实只要是用了adversarial loss的基本都会取个名字叫XXGAN,也许是可以增加投稿命中率。&/p&&p&另外上节中提到了Co-Training,感觉这里也应该提一下CoGAN[13],因为名字有些相似,并且也可以用于未配对的图像翻译。CoGAN的大体思想是:如果两个Domain之间可以互相映射,那么一定有一些特征是共有的。比如男人和女人,虽然普遍可以从长相区分,但不变的是都有两个眼睛一个鼻子一张嘴等等。所以可以在生成的时候,把生成共有特征和各自特征的部分分开,示意图如下:&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-57eaadc8cec5190bfd30_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&758& data-rawheight=&207& class=&origin_image zh-lightbox-thumb& width=&758& data-original=&https://pic4.zhimg.com/v2-57eaadc8cec5190bfd30_r.jpg&&&/figure&&p&其实就是两个GAN结构,其中生成网络和判别网络中比较高层的部分都采用了权值共享(虚线相连的部分),没有全职共享的部分分别处理不同的domain。这样每次就可以根据训练的domain生成一个样本在两个domain中不同的对应,比如戴眼镜和没戴眼镜:&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-356a6118ccf3e8e3bf1c7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&791& data-rawheight=&267& class=&origin_image zh-lightbox-thumb& width=&791& data-original=&https://pic2.zhimg.com/v2-356a6118ccf3e8e3bf1c7_r.jpg&&&/figure&&p&分别有了共有特征和各自domain特征,那么做mapping的思路也就很直接了[14]:&/p&&p&&br&&/p&&figure&&img src=&https://pic7.zhimg.com/v2-8ac50600e40feaac345e09bd7e05a83d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&771& data-rawheight=&210& class=&origin_image zh-lightbox-thumb& width=&771& data-original=&https://pic7.zhimg.com/v2-8ac50600e40feaac345e09bd7e05a83d_r.jpg&&&/figure&&p&在GAN前边加了个domain encoder,然后对每个domain能得到三种样本给判别器区分:直接采样,重建采样,从另一个domain中transfer后的重建采样。训练好之后,用一个domain的encoder+另一个domain的generator就很自然的实现了不同domain的转换。用在图像翻译上的效果如下:&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-612e9cf5e125fd626be7db_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&444& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&444& data-original=&https://pic2.zhimg.com/v2-612e9cf5e125fd626be7db_r.jpg&&&/figure&&p&还有个巧妙的思路,是把CoGAN拆开,不同domain作为C-GAN条件的更加显式的做法[15]:&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-ddec16d502c94f91ea35_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&883& data-rawheight=&398& class=&origin_image zh-lightbox-thumb& width=&883& data-original=&https://pic4.zhimg.com/v2-ddec16d502c94f91ea35_r.jpg&&&/figure&&p&第一步用噪声Z作为和domain无关的共享表征对应的latent noise,domain信息作为条件C训练一个C-GAN。第二步,训练一个encoder,利用和常见的encode-decode结构相反的decode(generate)-encode结构。学习好的encoder可以结合domain信息,把输入图像中和domain无关的共享特征提取出来。第三步,把前两步训练好的encoder和decoder(generator)连一起,就可以根据domain进行图像翻译了。&/p&&p&CoGAN一系的方法虽然结构看起来更复杂,但个人感觉理解起来要比dual系的方法更直接,并且有latent space,可解释性和属性对应也好一些。&/p&&p&又扯远了,还是回到正题:&/p&&p&&br&&/p&&h2&给女优穿上衣服&/h2&&p&其实同样没什么好说的,Cycle-GAN和pix2pix的作者是一拨人,文档都写得非常棒,准备好数据,分成穿衣服的和没穿衣服的两组,按照文档的步骤训练就可以:&/p&&p&Torch版Cycle-GAN:&a href=&https://link.zhihu.com/?target=https%3A//github.com/junyanz/CycleGAN& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&junyanz/CycleGAN&/a&&/p&&p&pyTorch版Cycle-GAN(pix2pix二合一版):&a href=&https://link.zhihu.com/?target=https%3A//github.com/junyanz/pytorch-CycleGAN-and-pix2pix& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&junyanz/pytorch-CycleGAN-and-pix2pix&/a&&/p&&p&Cycle-GAN收敛不易,我用了128x128分辨率训练了穿衣服和没穿衣服的女优各一千多张,同样是默认参数训练了120个epoch,最后小部分成功“穿衣服”的结果如下:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-fee34d66c386e0e01e5804_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1117& data-rawheight=&192& class=&origin_image zh-lightbox-thumb& width=&1117& data-original=&https://pic2.zhimg.com/v2-fee34d66c386e0e01e5804_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/v2-de57c5ebefa4251ee3caa1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1117& data-rawheight=&192& class=&origin_image zh-lightbox-thumb& width=&1117& data-original=&https://pic4.zhimg.com/v2-de57c5ebefa4251ee3caa1_r.jpg&&&/figure&&p&虽然都有些突兀,但好歹是穿上衣服了。注意马赛克不是图片里就有的,是我后来加上去的。&/p&&p&那么,脱衣服的例子在哪里?&/p&&figure&&img src=&https://pic4.zhimg.com/v2-480fb8a4dcfc7a4f92ec_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&75& data-rawheight=&60& class=&content_image& width=&75&&&/figure&&h2&参考文献&/h2&&p&[1] I. Goodfellow. Nips 2016 tutorial: Generative adversarial networks. arXiv preprint arXiv:, 2016.&/p&&p&[2] A. B. L. Larsen, S. K. S?nderby, Generating Faces with Torch. &a href=&https://link.zhihu.com/?target=http%3A//torch.ch/blog//gan.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Torch | Generating Faces with Torch&/a&&/p&&p&[3] A. B. L. Larsen, S. K. S?nderby, H. Larochelle, and O. Winther. Autoencoding beyond pixels using a&br&learned similarity metric. In ICML, pages , 2016.&br&&/p&&p&[4] C. Ledig, L. Theis, F. Huszar, J. Caballero, A. Aitken, A. Tejani, J. Totz, Z. Wang, and W. Shi. Photo-realistic single image super-resolution using a generative adversarial network. arXiv:, 2016.&/p&&p&[5] P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros. Image-to-image translation with conditional adversarial networks. arxiv, 2016. &/p&&p&[6] O. Ronneberger, P. Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. In MICCAI, pages 234–241. Springer, 2015.&/p&&p&[7] B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and A. Torralba. Learning deep features for discriminative localization. arXiv preprint arXiv:, 2015.&/p&&p&[8] He, D., Xia, Y., Qin, T., Wang, L., Yu, N., Liu, T.-Y., and Ma, W.-Y. (2016a). Dual learning for machine translation. In the Annual Conference on Neural Information Processing Systems (NIPS), 2016.&/p&&p&&br&&/p&&p&[9] &a href=&https://link.zhihu.com/?target=http%3A//www.dsrg.stuorg.iastate.edu/wp-content/uploads/2017/02/dual-learning_-pushing-the-new-frontier-of-artificial-intelligence-tieyan-liu.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&& Tie-Yan Liu, Dual Learning: Pushing the New Frontier of Artificial Intelligence, MIFS 2016&/a& &/p&&p&[10] J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networkss. arXiv preprint arXiv:, 2017.&/p&&p&[11] T. Kim, M. Cha, H. Kim, J. Lee, and J. Kim. Learning to Discover Cross-Domain Relations with Generative Adversarial Networks. ArXiv e-prints, Mar. 2017.&/p&&p&&br&&/p&&p&[12] Z. Yi, H. Zhang, P. T. Gong, et al. DualGAN: Unsupervised dual learning for image-to-image translation. arXiv preprint arXiv:, 2017.&/p&&p&&br&&/p&&p&[13] M.-Y. Liu and O. Tuzel. Coupled generative adversarial networks. In Advances in Neural Information Processing Systems (NIPS), 2016.&/p&&p&[14] M.-Y. Liu, T. Breuel, and J. Kautz. Unsupervised image-to-image translation networks. arXiv preprint arXiv:, 2017.&/p&&p&[15] Dong, H., Neekhara, P., Wu, C., Guo, Y.: Unsupervised image-to-image translation with generative adversarial networks. arXiv preprint arXiv:, 2017.&/p&&p&=========== 分割线: ===========&/p&&p&上周日发的时候也想到了可能会有许多人对这个话题感兴趣,但没想到超过了1.5W赞这么多,大概看了看评论,做一些补充:&/p&&p&&b&1) &/b&马赛克训练数据:对于一般的机器学习问题,都是分布越简单越容易,遵循这个原则,我用的约束是单人照片,具体方法是:先找一个Pascal VOC训练好的SSD代码,然后SSD筛选了一批每张图里只能检测到一个人的。&/p&&p&最后在真人照片上的效果看上去还是不错的,我没有做过量化评估,大体来说看上去挺像的要超过一半,非常逼真的可能有5%~10%。两人以上战斗的动作画面我没有评估过。&/p&&p&&b&2)&/b&穿(tuo)衣训练数据:因为收敛很难,所以数据的加了更多约束:只用女性单人正面照片。同样通过SSD检测出单人照片,同时考虑person框的宽高比小于1的且框内能检测到人脸的(OpenCV的人脸检测)。这样尽量筛选出一批面向镜头,身体占画面比接近的照片。&/p&&p&最后的效果我在原文中也提到过,只有小部分能成功穿上(tuo)衣服,具体我也没有量化统计过,大概100张里两三张吧,大部分都是身上出现了看上去有点像衣服的线条或是另一个人的胸部。考虑到我最后筛选出的图片人物占画面比仍然有很大的变化,很可能我的模型就是遇到了文中提到的partial mode collapse的问题。&/p&&p&如果有更好的办法筛选出人物大小差不多的照片,效果应该能提升不少。比如我在用SSD筛选的时候如果考虑宽高比更小一些,筛选出的照片看上去会更加一致,不过我资源不太够,这样做后训练集就只有不到300张,资源够的老司机们有兴趣可以试试。&/p&&p&&br&&/p&&p&&b&3)&/b&预训练模型有没有?有,但是我研读了中华人民共和国刑法第三百六十三、三百六十四和三百六十六条,完全读不懂,所以还是不提供。再说就算我提供了,根据1)和2),看到你想看的内容也是需要运气的。&/p&&p&另外特别感谢赞赏的知友们,这篇文章是想说&b&书中自有颜如玉&/b&,而知友们的赞赏让我知道&b&书中真有黄金屋&/b&,古人诚不我欺…&/p&
作为一名久经片场的老司机,早就想写一些探讨驾驶技术的文章。这篇就介绍利用生成式对抗网络(GAN)的两个基本驾驶技能: 1) 去除(爱情)动作片中的马赛克2) 给(爱情)动作片中的女孩穿(tuo)衣服 生成式模型上一篇《》中已经简单介…
&figure&&img src=&https://pic2.zhimg.com/v2-b265abe344cb9e3549ffcff2e67a7bdd_b.jpg& data-rawwidth=&560& data-rawheight=&292& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&https://pic2.zhimg.com/v2-b265abe344cb9e3549ffcff2e67a7bdd_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/v2-32f0b95bffda0e26c5490d_b.jpg& data-rawwidth=&600& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic4.zhimg.com/v2-32f0b95bffda0e26c5490d_r.jpg&&&/figure&&p&台湾半导体鼻祖:联电&/p&&blockquote&&p&能说会道的潜力股与货真价实的大佬,谁有实力?你能分出来谁有实力?&/p&&p&当我们紧盯简单的GDP(国内生产总值)数据,追逐最热概念的时候,就已经将我们的判断逻辑本末倒置了。对于一个区域来说,到底什么是真正的竞争力?一两个突出的数据?一两个惊爆眼球的话题概念?还是维持稳定的发展步伐,收获最实际可行的利益?&/p&&/blockquote&&p&近两年随着韩国半导体企业的崛起,特别是三星电子的全面崛起,与此相比,大家开始觉得台湾地区的半导体产业集体落后了,甚至已经到了需要抢救的地步。&/p&&p&但其实台湾在半导体领域的地位依旧稳固,台湾在技术壁垒更高、业务类型更加丰富、市值更加稳定的IC设计、晶圆制造封测领域有着独一无二的优势,一直处于业界高端地位。&br&&/p&&p&就像HTC品牌slogan一样,台湾半导体产业集体展示出”谦逊卓越“的态度,不善于到处吹嘘宣传,一直韬光养晦、闷声发大财。&/p&&h1&&strong&台湾半导体的破局之路,用完备的人才系统、分红系统立命&/strong&&/h1&&p&由于历史原因,从上世纪70年代开始台湾在外交、经济方面遭遇危机,于是当时新任经济部长孙运璿便决心开启工业技术转型。&/p&&p&「我们如果再不做,就赶不上了,」孙运璿曾这么评价当时台湾的状况。随后便将分散在各处的联合工业研究所、联合矿业研究所与金属工业研究所合并,成立「工业技术研究院」。与美国无线电公司 (Radio Corporation of America, RCA)取得合作,将相关人才派驻过去学习,这些人才成为了现在国际半导体行业里的大佬。如:台积电张仲谋、联发科蔡明介都是当年派驻RCA学习的成员。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-9dbf63e99adbfc_b.jpg& data-rawwidth=&500& data-rawheight=&391& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic3.zhimg.com/v2-9dbf63e99adbfc_r.jpg&&&/figure&&p&台湾派驻人才进入RCA学习&/p&&p&等这一批从大学、相关部门挑选出的人才学成归来,台湾便建立起了世界上第一个由政府主导成立的科技产业园区——新竹科技产业园。新竹科技产业园吸收了台湾清华大学、交通大学的人才研究资源,在政府的主导下与RCA开展了晶圆制造项目的合作。&/p&&p&在此之后,逐渐所有的台湾大学都开始大幅度将学生输送到欧美日发达国家进行培养,最后台湾大学研究机构与欧美等国家间的学术交流成为了台湾最有效的外交方式,同时也将台湾大学、成功大学、交通大学、清华大学等大学培养成国际知名的学府。&/p&&p&台湾大学的学术、技术研究方式融合了欧美大学的管理、日本大学的研发,与国际上各大企业保持着密切联系。各台湾大学的学生毕业之后,基本都被送往欧美日地区进行深造、做相关课题研究。在欧美日的创立的各大半导体高科技公司中,存在着大量的台湾籍的研究员。&/p&&p&&figure&&img src=&https://pic4.zhimg.com/v2-55cc2fcfb33_b.jpg& data-rawwidth=&600& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic4.zhimg.com/v2-55cc2fcfb33_r.jpg&&&/figure&联发科的交钥匙方案&/p&&p&台湾不比大陆以及欧美市场,人口少市场小,唯一的优势是海运便利。只适合做贸易,不适合做品牌。于是台湾的半导体企业由联电开始,创立了代工模式,奠定了台湾的基础业务模式。&/p&&p&而台湾培育出的第一家半导体企业——联电,靠着首创的代工模式成功之后,便学习日本企业的股票分红模式。像日本制造业企业一样将利润用于分红、设备投资(建新工厂等)、并购、回购股票、战略投资等,剩余的钱才会用来清偿债务和充实资本。&/p&&p&这一模式迅速在台湾半导体行业流行开来,成为了台湾半导体公司的一项基本员工福利制度。台湾半导体公司从此开始有能力,将大量的半导体人才留在了台湾本土,并逐步吸引全球半导体公司入驻台湾,设立研发合作公司。&/p&&p&靠着这样的模式,台湾将人才留在了本土,并成长成世界高端半导体产品代工基地,并吸引了大量国际上排名前列的半导体公司在台湾落地,设立研发公司,丰富了台湾半导体产业链。&/p&&p&可以说现在台湾半导体产业最大的优势就是,国际化的人才培养储备体系,行业顶尖公司的有限合作地位,全产业链条的代工技术储备。&/p&&p&这在国际上,其他任何区域都不能抗衡。&/p&&h1&&strong&台湾已经是世界半导体技术人才交流中心,有能力快速落地国际产业技术&/strong&&/h1&&p&台湾企业在国际化的道路上有其他地区无法比拟的优势,台湾同时背靠大陆的市场资源优势、欧美日全面深入的技术合作,资源优势强大。&br&&/p&&p&目前看起来台湾与大陆关系若即若离,无法深入合作,但这样的关系保证了台湾在技术不出现大幅度外流的情况下,充分利用大陆资本人力资源。&/p&&p&特别是与欧美日国家技术合作上,台湾地区的代工模式相比韩国的垂直整合具有天然的优势。由于台湾企业更加诚信,不像韩企一样与客户抢市场,早早在全球范围内吸引到了半导体全产业资源,与欧美日甚至是韩国的半导体技术大厂都保持着深入的合作。&/p&&p&在国际半导体市场上,台湾人也有着巨大的话语权,为台湾企业引来了不少业务资源。&/p&&p&&figure&&img src=&https://pic2.zhimg.com/v2-b265abe344cb9e3549ffcff2e67a7bdd_b.jpg& data-rawwidth=&560& data-rawheight=&292& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&https://pic2.zhimg.com/v2-b265abe344cb9e3549ffcff2e67a7bdd_r.jpg&&&/figure&英伟达创始人黄仁勋&/p&&p&2015年有数据统计显示,硅谷有近8000家电子、通讯及软件公司中,约有3000家由华人或印度人工程师执掌业务要津,而华人员工的总数已达25万之多。另据一项调查显示,五分之一的硅谷工程师具有华人血统;有约18%的华人担任着硅谷的公司总裁。&/p&&p&诸多英伟达创始人黄仁勋、ATI创始人何国源、雅虎&YouTube创始人杨致远、Marvel周秀文等等。&/p&&p&美国硅谷高达三分之一的公司由华侨华人创办或担任CEO。这些华人中,台湾人占了很大一部分,剩下的被印尼华人、新加坡华人、香港华人占据。但在除去中国大陆以外的大中华区,台湾是半导体行业的中心,最终台湾将是这些华人开展业务、创业发展的理想乐土。这些华人以及台湾的半导体从业人士,在硅谷有着稳固的地位、良好的人际关系。&/p&&p&例如HTC前CEO周永明与Android之父安迪·鲁宾(Andy Rubin)私交甚好,当年安迪·鲁宾受到周永明的指点拿着新研发的Android投入Google怀抱,之后周永明又第一个出面搭桥引入HTC,靠着HTC在PDA、智能手机上上十年的积累,使得Android系统快速崛起。&/p&&p&而关于Android此前还有一段历史,安迪·鲁宾当时还带着Android去三星演示求投资,但被三星当面奚落一番,认为这就是一个机遇Java简单的系统而已,断然拒绝。有人说这是三星短视,但更实际的情况是,三星当时技术能力严重不足,还不具备将Android系统完善推广的能力。相比软件技术,三星更缺乏硬件工程师。&/p&&p&但当时,在PDA市场叱咤风云多年、还在于微软合作的HTC则不一样,缺少的则是优秀系统与杀手级应用。现在HTC正在研发VR产品 Vive,也采用的这种开放合作思维。靠着以往在商业上积累下的口碑,其快速开展了与valve、Oculus进行的系统技术、内容资源合作,为其产品带来了巨大的优势,快速引爆市场。&/p&&p&在半导体领域重要的元件、设计、设备、材料四大核心产业,台湾都有完善的人才研发机构。从表面上看起来台湾只在元件、设计与部分材料领域有领先优势,但其实台湾不仅与下游的intel、高通、IBM、苹果等顶尖客户有着稳定的合作关系。半导体设备材料大厂AMSL、应用材料、东电、日立、久津等等都在台湾设有完善的研发机构,就地与台湾代工大厂合作推广应用。&/p&&p&全球半导体区域市场产值:&/p&&p&&figure&&img src=&https://pic2.zhimg.com/v2-d9056eacafe1e4f41f67f7a6f1476e66_b.jpg& data-rawwidth=&532& data-rawheight=&348& class=&origin_image zh-lightbox-thumb& width=&532& data-original=&https://pic2.zhimg.com/v2-d9056eacafe1e4f41f67f7a6f1476e66_r.jpg&&&/figure&数据来源:SEMI&/p&&p&从上世纪80年代开始,欧美日企业基于良好的合作关系,就开始在台湾设立研发分部。台湾企业优秀的代工技术与素养,已经台湾在国际市场上的法律、贸易弱势地位,使得国际公司不用担心技术专利问题,愿意在此开展更开放的技术合作,为台湾带来了全领域技术的繁荣发展,人才技术研发组织齐全。&/p&&p&所以我们从表面上看,这两年台湾品牌、相关代工大厂逐一倒下,但这只是现下国际上半导体技术、产品正面临快速更新换代。原来高精尖的智能手机已经变成了大路货,陷入恶性竞争。在in-cell、on-cell技术的冲击下,原来的OGS等触控解决方案、驱动IC技术快速淘汰,使得台湾产业链出现变动开始合并。&/p&&p&而这些表面正常的公司合并重组升级手段,并不能简单视为台湾半导体产业的颓废落后。&/p&&p&虽说这些企业分属外国公司,但其实企业落地到哪,只要那里有完善的技术人才研发队伍,那这个企业就属于当地的。台湾丰富的人才资源配置则成功留住了这些企业。&/p&&p&这些制度上的优势,使得郭台铭的富士康收购日本夏普、进军OLED行业之时,能够快速获得Canon(佳能) TOKKI、JDI 、Dai、日本出光兴全产业链的支持。&/p&&p&这些企业是三星OLED屏幕生产所需的设备、材料、技术提供商,他们手里拥有OLED制造的关键技术。&/p&&h1&&strong&台湾半导体盘踞业界高端市场,闷声发大财&/strong&&/h1&&p&台湾的半导体产业涉及晶圆制造代工、芯片设计封测封装、系统设计代工制造、面板生产制造、内存设计制造等,几乎涵盖了半导体元件、设计、设备、材料全领域。&/p&&p&ICInsights日前公布2016年上半年全球半导体厂商营收前二十大排行榜。前二十大半导体公司美国独占8家,日本、欧洲、中国台湾各3家,韩国2家,新加坡1家。可见台湾的实力。&/p&&p&&figure&&img src=&https://pic4.zhimg.com/v2-ee9d36ac50192e07caa6ddf4e39be79e_b.jpg& data-rawwidth=&500& data-rawheight=&335& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic4.zhimg.com/v2-ee9d36ac50192e07caa6ddf4e39be79e_r.jpg&&&/figure&台积电张忠谋&/p&&p&经过40多年的发展,其不间断培养出来大量兢兢业业的半导体人才,用深厚的技术实力,拿下了PC、智能手机、平板电视、晶圆制造、晶圆代工、芯片设计、顶级EMS代工、芯片封装等等一个又一个顶级半导体领域。&/p&&p&在诸多先进半导体制造工艺领域,处于行业高端地位,赚取业界最大份额的利润,短期内很难被取代。如台积电常年占据晶圆代工制造领域超过50%以上的份额,营收份额则更高。&/p&&p&在封测领域,全球排名前列的封测厂基本都是台湾企业,并且掌握了利润率最高的前沿高端封测技术。2014年台积电牵头的InFO封测技术在苹果的带动下迅速普及,今年(2016年)又积极推广最新的扇出型晶圆级封装(FOWLP)技术,预计马上就大范围应用在苹果A10、A11芯片系列的封测上。&/p&&p&未来FOWLP技术优势明显,将能更广泛的应用到移动与穿戴式装置的基带、电源管理IC (PMIC)、GPU与射频(RF)、CPU、GPU、FPGA等等的封装上。 而下一代的InFO封测技术也正在路上。&/p&&p&&figure&&img src=&https://pic2.zhimg.com/v2-24b520aafd99_b.jpg& data-rawwidth=&560& data-rawheight=&274& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&https://pic2.zhimg.com/v2-24b520aafd99_r.jpg&&&/figure&2013年~2016年全球主要封测代工国家及地区市占率变化&/p&&p&台湾工研院产业分析师江直融表示,台湾IC封测业产值占全球比重达55.2%,持续维持龙头宝座,短期内没有任何国家能取代台湾成为全球第1大地位,台湾IC封测厂商家数共37家,前5大厂商营收占台湾全体封装厂商营收比重达70%,在全球范围内也少有能抗衡者。&/p&&p&日月光、艾克尔、力成、南茂霸占国际上高端封测技术的产能,吃下了封测行业的大部分利润。除了存储器内存(台湾称:记忆体)、面板行业,台湾还处于中端水平之外,其他产业领域台湾都盘踞在中高端市场中,并且诸多市场都是通过自己的代工模式开拓出来的全新市场。&/p&&p&&figure&&img src=&https://pic4.zhimg.com/v2-49297baff5ed21b267fcf_b.jpg& data-rawwidth=&560& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&https://pic4.zhimg.com/v2-49297baff5ed21b267fcf_r.jpg&&&/figure&2009年 ~ 2016年台湾半导体产业产值&/p&&p&这张图片数据看起来台湾半导体发展忽上忽下,犹如坐过山车。但对比一下下图全球半导体市场:&br&&/p&&p&&figure&&img src=&https://pic2.zhimg.com/v2-a9d91a349f9a208f2f9dd43c9b1c8d21_b.jpg& data-rawwidth=&560& data-rawheight=&263& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&https://pic2.zhimg.com/v2-a9d91a349f9a208f2f9dd43c9b1c8d21_r.jpg&&&/figure&2008年 ~ 2016年全球半导体市场规模&/p&&p&两者对比下来,台湾逆势增长的趋势还是很明显。需要注意的是图中2016年数据是2015年预测得来,呈下降趋势。但根据今年市场表现,2016年应该是中等幅度的上升。特别是赶上今年大陆市场换机潮,台湾半导体市场增长要明显高于其他地区。&/p&&p&台湾台积电、联发科、联电、日月光等等半导体公司抢先拿下了最具市场价值的半导体设计代工领域,而韩国半导体目前最大的业务还是NAND内存存储领域。日本半导体业的衰落被认为是成业内存、败也内存。IC设计业一直被认为是半导体行业里的高端、高技术壁垒、成长稳定的项目,这是台湾擅长的领域。&br&&/p&&p&而韩厂在这方面要差很多,甚至连内存存储相关的驱动芯片设计领域,在业界都没有较高的市场地位,一直被日美厂商的驱动芯片所压制,现在华为推出的固态存储驱动芯片也来了一个大反超。三星、SK海力士在很长时间里也只能一直以生产内存颗粒著称。&/p&&p&&figure&&img src=&https://pic3.zhimg.com/v2-e13c24c5dab2c9ab1b673d0d6165f45c_b.jpg& data-rawwidth=&600& data-rawheight=&337& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic3.zhimg.com/v2-e13c24c5dab2c9ab1b673d0d6165f45c_r.jpg&&&/figure&台湾封测厂霸占了封测领域&/p&&p&在三星研发推广OLED面板时,还是靠着与HTC合作。HTC创始人王雪红曾谈到这一段合作:&/p&&p&当时HTC向三星派去一个技术团队,帮助三星完成了量产、面板驱动IC设计应用,最后HTC率先把OLED应用在自家旗舰机HTC Desire。产品刚刚发布一个月,所有的宣传推广都已经完成,三星突然以自家手机产能需求大、缺货的理由,给HTC断货。&/p&&p&之后HTC很少与三星合作,这从侧面可以看出台湾半导体产业技术在业界的领先地位。&/p&&p&韩国除了三星电子、LG、现代旗下的SK海力士之外,韩国就再没有其他能叫出名的半导体企业。韩国市场除了这三家王者,其他半导体公司还处于中低端,跟中国大陆水平不相上下,某些行业如玻璃面板、触控面板、指纹扫描模块等等还不如大陆公司。&/p&&p&不过靠着三星电子一家吸着全韩国人民血液的巨无霸,靠着突出的面板制造、内存制造业,基本可以与台湾抗衡了。&/p&&p&但韩国半导体在国际化上还是与台湾有着巨大差距。韩国人偏爱垂直整合的巨无霸财阀形态,带来目中无人的狠辣手段,使得国际大厂不愿与其进行深入合作。相关核心技术领域,国际大厂们也是谨慎提防。&/p&&p&这使得韩国半导体企业在设备材料相关领域处于被动状态,像掩膜版、ITO膜、OCA光学胶、蚀刻膏、铬版、偏光片光刻机,刻蚀机,显影机,镀膜机,注入机必须依靠欧美日厂商,但自己有三心二意,让国际大厂伤透脑筋。&/p&&p&而面向台湾企业的时候,国际品牌完全没有这种顾虑,这是台湾企业面向未来的最大优势。&/p&&h1&结语:&/h1&&p&整体来看,台湾完善的代工产业服务、不争不抢只做产业技术的态度、开放的技术合作环境、国际化的人才培养交流机制、公正的政策法务规则,这些是台湾最大的竞争优势。而这些竞争优势也是通过台湾在国际上尴尬的地位所造就的,这样的国际地位使其难以与其他国家进行争抢、巧取豪夺。&br&&/p&&p&最后,台湾用朴实岛民的国际地位,使得全球科技公司不用担心自己的技术资产被强制掳走,这些基础的氛围规则使其有能力快速汇聚全球半导体行业前沿技术,孵化全新的技术产业。&/p&&p&经历过近半个世纪的发展,台湾半导体产业靠着遍布全球的人才,完善的代工服务、技术转化能力,将全球半导体最前沿的技术生产留在了岛内,成为全球科技公司的实验室、研究所、工厂与仓库。竞争优势无可比拟。&/p&&p&台湾企业媒体经常会用惊爆眼球的题目来诉苦,但其实台湾一直是全球半导体业的发动机。&br&&/p&&blockquote&&p&文/水上焱&/p&&p&本文系百略网(&a href=&https://link.zhihu.com/?target=http%3A//www.ibailve.com& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&百略网-专注泛互联网商业革新和科技创新&/a&)原创,微信ID:wwwbailve。&/p&&/blockquote&
台湾半导体鼻祖:联电能说会道的潜力股与货真价实的大佬,谁有实力?你能分出来谁有实力?当我们紧盯简单的GDP(国内生产总值)数据,追逐最热概念的时候,就已经将我们的判断逻辑本末倒置了。对于一个区域来说,到底什么是真正的竞争力?一两个突出的数据…
&figure&&img src=&https://pic2.zhimg.com/v2-b46335a87bcd8ffe9fa167ea7f25a064_b.jpg& data-rawwidth=&2560& data-rawheight=&1440& class=&origin_image zh-lightbox-thumb& width=&2560& data-original=&https://pic2.zhimg.com/v2-b46335a87bcd8ffe9fa167ea7f25a064_r.jpg&&&/figure&&p&大约 2016 年 7 月,在室友的电脑上接触到了《守望先锋》这个游戏,看到了很多当初玩 FPS 游戏没有的设计:每一局比赛后的「全场最佳」、没有常规的计分面板、结束后为表现最好的队友 & 对手点赞、拥有不同技能的「英雄」而不是不同的枪、「暴雪出品」的游戏质量和彩蛋、丰富的背景故事让我一下爱上了这个游戏。对于我这种爱与美的守护者,自然选择了「天使」这个治疗型英雄,一玩就是快 300 个小时,天梯分数也从曾经的 1200 到了现在的 2600+(海淀白求恩#5408)。在沉迷了几个月之后开始好奇:这么好玩的游戏是怎么做出来的?在看了两场暴雪嘉年华、无数访谈资料之后深深的被这个游戏折服了。我觉得在这个「守望药丸」声音四起的时间里,是时候写一篇东西来介绍一下这个游戏背后的故事了。&/p&&h2&出师未捷&/h2&&p&2007 年,暴雪贴出招聘公告招人参与开发「Next-Gen MMO」项目,一时间谣言四起。直到 2008 年的暴雪嘉年华,暴雪 CEO Mike Morhaime 承认暴雪正在开发一个新的游戏,这个游戏和魔兽世界无关,它会有全新的世界观和设定,同时这款游戏并不是为了取代魔兽世界。人们认为暴雪在魔兽世界玩家数逐渐下滑的当时确实需要一款新的游戏来接替魔兽世界。2009 年,魔兽世界游戏总监 Jeff Kaplan 宣布接手这个新的项目,他提到这款游戏将会是全新的世界观、科幻和近未来的设定。之后项目就没有消息了,直到 2010 年 11 月,中国 NGA 论坛泄露了一张暴雪产品计划时间表,其中清楚的写着有一个叫「Titan」的项目将会在魔兽世界第五部资料片之后问世。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-ee2209ca3dce_b.jpg& data-rawwidth=&1238& data-rawheight=&894& class=&origin_image zh-lightbox-thumb& width=&1238& data-original=&https://pic3.zhimg.com/v2-ee2209ca3dce_r.jpg&&&figcaption&底部写着 Titan&/figcaption&&/figure&&p&泄露事件发生之后,暴雪中国总经理叶伟伦离职,暴雪联合创始人 Frank Pearce 也承认了「Titan」就是正在做的新项目。Mike Morhaime 表示:暴雪将会调遣最优秀的游戏开发者参与 Titan 项目,这其中包括了魔兽世界项目的人员,他们将会用来自魔兽世界的经验和教训来打造这个新的游戏,目的是为了打造一个全新的游戏,而不是一个魔兽世界 2.0。Paul Sams 表示:Titan 开发小组的实力无与伦比,这款游戏将会彻底颠覆人们对游戏的认知,暴雪已经为这款游戏做了 20 年计划,这个游戏比过去暴雪做过所有的游戏都要庞大。对于这支经历过《魔兽世界》《暗黑破坏神》的团队而言,无非就是重新复制一次成功而已,又有多难呢?&/p&&p&到了 2012 年,Titan 项目已经从早期的小型团队扩大到了 100 多人,尽管人数已经这么多了,但暴雪副总裁 Rob Pardo 依然表示 Titan 还有很长的路要走。距离放出招聘信息至今已经过去了 4 年,关于 Titan 的消息再一次传来则变成了坏消息:2013 年 5 月,暴雪决定重做整个游戏,并且将 70% 的开发力量转移到了其他项目组。2013 年暴雪嘉年华上,Mike Morhaime 说:重启后的 Titan 项目还有很多需要做,我们正在努力评估项目本身。&/p&&p&很快,时间来到了 2014 年暴雪嘉年华前夕,Mike Morhaime 宣布暴雪取消了 Titan 项目,原因是「我们没有在这个游戏中找到乐趣」,简而言之,这游戏不好玩。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1c589cc60_b.jpg& data-rawwidth=&1978& data-rawheight=&1298& class=&origin_image zh-lightbox-thumb& width=&1978& data-original=&https://pic2.zhimg.com/v2-1c589cc60_r.jpg&&&figcaption&Titan 的设定&/figcaption&&/figure&&h2&卧薪尝胆&/h2&&p&大家都觉得这么多厉害的人,这么多的投入理应得到一个完美的游戏,然而现实并不是这样,暴雪最精英的 140 人团队开发一个可能是游戏史上最大投入的产品不幸失败,7 年心血付诸东流,很多成员一加入暴雪就在这个项目中,但多年过去后并没有做出产品,这让团队受到了巨大的打击,他们甚至在怀疑:我们是不是已经没有能力做出好游戏了?Jeff 说「我认为我们在所有能失败的地方都失败了」,对于这支曾经无比辉煌几乎没有经历过失败的团队而言,这次失败彻底击垮了他们的信心,团队士气无比低落。在这之后开发团队被精简成了一支很小的团队,同时这个小团队被告知:要么在未来 6 周想出一个新的项目,要么项目组解散。与此同时外界的评论也不绝于耳:「暴雪已经完蛋了」「他们再也没有新的想法了」「江郎才尽」…&/p&&p&对于这支被精简过的团队而言,虽然公司内部所有人都很支持他们,但只有自己才知道那种羞耻感,总有一种东西在鞭策着你去证明你还配在暴雪工作。在这个时候所有人都空前团结了起来,因为他们明白自己的能力绝对不止于此,他们急需一个重新证明自己的机会,如果抓不住这次,那可能世人知道的不再是「这个人 2008 年做了一个无比辉煌的游戏,叫《魔兽世界》」,而是「这个人做了一个叫泰坦的游戏,彻底失败,项目还被取消冲进了下水道」。不论未来做什么,所有人都需要面对未来如何合作、如何对待彼此,一切都过去了,要向前看。&/p&&p&于是大家分头去想一些有趣的想法,并约定在前两周进行尝试。最开始拿出的想法是基于《星际争霸》的故事,他们希望在这个宇宙里讲述不同方面和不同星球人们的故事,星际争霸团队也为这个想法提供了很多支持,甚至做出了很多细节的设计图出来,当时大家都觉得这个想法很靠谱,但保险起见他们还是选择把这个项目封存,再想几个出来。&/p&&p&「我们能}

我要回帖

更多关于 西雅图贝尔维尤 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信