2020年2月28日星期五

Python 开发过那些牛逼的 App



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



Python 开发过那些牛逼的 App

如今 Python 越来越火,大有登顶编程语言榜首的趋势,很多人开始知道或者学习 Python,今天就介绍几款由 Python 开发的世界大牌 App,让你再次认识它。

下面一睹为快,看看有没有你不知道的。

▌Instagram

image

这款 App 想必你应该很熟悉,不少人也玩过,前几年还可以随便上,现在不行了。

简单介绍一下它,自 2010 年 10 月诞生之日起,就一直稳坐「在线图片及视频分享社交应用软件」的世界老大位置。

它有多牛逼呢,用两组数据说明一下就知道了。

其一,根据 Alexa 世界 500 强网站流量排名,Instagram 位居 美国第 11 位,世界第 17 位,排它后面的是「微博」。

image

世界 TOP 20 网站排名(点击放大)

其二,日活跃用户达到 3 亿,月活用户达到 10 亿。

这个数字你可能没概念,拿国内最近风光无限的「抖音」来对比一下就知道了,根据抖音 1 月公布的官方数据,抖音日活用户 达到 2.5 亿,月活用户有 5 亿

还是比不过 Instagram,不过抖音后劲非常猛,海外版 Tik Tok 已登陆全球 150 个国家,微信都没走出国门,它走出去了。

话说回来, Instagram 能这么牛逼,主要是因为它有一个更牛逼的爹:脸书「 Facebook 」。

▌Reddit

image

Reddit 是美国最大的娱乐、社交及新闻网站,由两个维吉尼亚大学的学生在 2005 年创建,最初采用 Common Lisp 语言编写,后面改用 Python 。

相比 Instagram,它在国内知名度要低一些,而实际上它比 Ins 要牛逼,是 美国排名第 5 的网站,排它前面的只有:Google、Youtube、Amazon 和 Facebook 这四大巨头。

▌Uber

image

Uber 你应该熟悉,前两年和滴滴打得不可开交,目前拥有 1 亿用户,它使用便捷的 Python 来处理大数据。

▌Dropbox

image

如果你经常使用网盘,那应该会比较熟悉 Dropbox ,它也是用 Python 开发的一款顶级 App。

提到网盘,就不得不说国内的百度网盘,简单对比一下,在存储空间大小上,百度网盘还是很良心的,免费提提供 2T 存储空间,而 Dropbox 仅提供 2G 免费空间,差了 1000 倍。

Dropbox 虽然在容量上输给了百度网盘,但在安全性、协同合作等方面,能甩百度网盘好几条街。

▌Pinterest

image

如果你是一个设计师,那么 Pinterest 你一定不陌生,该网站和 App 也是由 Django 搭建的。

作为一个图片分享网站,它最大的特点是可以方便地采集和收藏喜欢的图片。比如你喜欢 PPT ,就可以在上面采集 PPT 作品作为灵感储备,类似中国版的「花瓣网」。

▌Spotify

image

Spotify 是一个起源于瑞典的音乐流服务公司,也是 当前全球最大的流音乐服务商,国内众多音乐 App 中,能接近它的也只有网易云音乐。

▌Disqus

image

Disqus 是一家提供网站留言的公司,超过 75 万个网站使用了它的留言系统功能,它也使用了 Django 的部分功能。

2020年2月24日星期一

111天·Youtube多语言学习者的学习经验~



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



111天·Youtube多语言学习者的学习经验~

图片发自简书App

The method to study foreign language need to find websites which is about what you are interested in.Gramar is not so important,but you need to master at least 300 basic vocabulary to understand the language which you want to study.If you master about 1500 words,you can understand most of the basic conversations.Pronunciation is very important,just copy native speakers.

1.找你感兴趣语言的网站看感兴趣的部分

2.掌握300个基本词汇,理解语言

3.当你有1500个词汇量的时候,你就可以理解最基础的交流了。

4.语音很重要,就是外国人说什么,你就说什么。多重复!

这种学习方法不适用于那些想要考证的同学们,如果你们只是想学会简单的日常交流,其实就可以像上面说的那样做。我之后也会慢慢实践来告诉你们如何。在YouTube上看到了一个南非的哥哥,自己在家6个月自学了法语,6个月后,可以和法国朋友简单的日常交流了。他的方法就是先把最基础的语法以及核心词汇学完,就逼着自己说法语,由刚开始的一点点到后来越来越熟练,这就是为什么每次你学习一本新的书的时候,第一课总是记得最清楚的原因。

如果有人也在学习日语,可以到Japanesepod101.com,这个网站上有很多免费的学习日语的资源。

今日所学:(英对日)

Season( 季節)きせつ

1.Cherry blossoms are beautiful in spring.

春(はる)は桜(さくら)が綺麗(きれい)です・

2.I go to the sea/beach every summer.

毎年(まいねん)夏(なつ)に海(うみ)に行き(いき)ます。

3.You should go to Kyoto in Autumn.

京都(きょうと)は秋(あき)に行ったほうがいいですよ。

4.Japanese people use kotatsu in winter.

日本人(にほんじん)は冬(ふゆ)にコタツを使(つか)います。

5.What's your favourite season?

一番好き(いちばんすき)な季節(きせつ)はなんですか。

Animal(動物)どうぶつPlant(植物)しょくぶつ

1.What animal do you like the most?

動物の中で何が一番好きっですか。

どの動物(どうぶつ)が一番(いちばん)好き(すき)ですか。

2.To plant a flower

花(花)を植える(うえる)

3.The fish is swimming.

魚(さかな)が泳(およ)いでいる。ーー水族館 (すいぞくかん)

Time(時間)じかん

1.This year is 2018.

今年(ことし)は2018(にせんじゅうはちねん)です。

2.Next year is 2019.

来年(らいねん)は2019(にせんじゅうくねん/にせんじゅうきゅうねん)です。

3.This is the last time.

=There won't be a next time.

これが最後。(さいご)

4.In two years/two years later/the year after next

再来年(さらいねん)=二年後(にねんご)

5.In a week/one week later    一週間後(いっしゅうかんご)

In a month/one month later        一か月後(いっかげつご)                   

Day before yesterday    一昨日(おととい)

The year before last    一昨年(おととし)     

Last year  去年(きょねん)                  This year    今年(ことし)

Next year  来年(らいねん)                The year after next  再来年(さらいねん)

图片发自简书App


语言的学习需要循序渐进,其实是没有捷径的,现在需要的就是夯实基础,多跟读,多说,多看自己感兴趣的文章。后记,如果有人想自学有没有方法的可以私聊我,我可以告诉大家我笨拙的学习方法~皆さん、頑張れ!

わたしの日本語は下手です。I am trying to learn it through English,you can learn it by Chiese.As you know,there are lots of characters in Japanese,sometimes it is similar,but most of the time,it has several meanings.

对于外国人来学习日语来说,汉字是最难的,因为笔画很多。但是对于我们来说,我们本来就知道中文怎么写,所以,在接触日语的时候,要比外国人学习日语要学的快一些,有些时候,即使你不知道是什么意思,也能大致猜出一二。

在观看YouTube上博主谈语言的时候,他们总是给我一种自信,鼓励更多的人学习语言,语言的学习其实没有那么的难,好多个语言博主给我的感受就是,你学的越多,你越觉得语言有意思,越觉得好学。所以,想学习小语种的朋友们,不要犹豫,想学就开始吧。

                                                                                                                              2019.2.18.  第一百一十一天  于家中

2020年2月20日星期四

老高在航海家计划里8:05-9:49的BGM是什么?-锖兔的回答:哇,最近我也在找,不知道楼主找到了没有



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



老高在航海家计划里8:05-9:49的BGM是什么?-锖兔的回答:哇,最近我也在找,不知道楼主找到了没有 老高在航海家计划里8:05-9:49的BGM是什么?
锖兔的回答

哇,最近我也在找,不知道楼主找到了没有

2020年2月19日星期三

vue + electron 开发桌面应用



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



vue + electron 开发桌面应用

简介

electron 是一个可以使用 web 技术来创建跨平台原生桌面应用的框架。借助 electron ,我们可以使用纯 JavaScript 来调用丰富的原生 APIs。优点:可以开发跨平台应用;成熟的社区;图形化的开发。缺点:应用体积过大;重型项目性能问题。

electron 核心的部分就是两个进程之间的协作------主进程和渲染进程。进程之间通过 ipcMain 和 ipcRenderer 来进行通信。
主进程:在 electron 里面,运行 package.json 里面 main 脚本的进程成为主进程。主进程控制整个应用的生命周期,在主进程中可以创建 Web 形式的 GUI,而且整个 Node API 是内置其中。
渲染进程:每个 electron 的页面都运行着自己的进程。


(以上图片截取自 vue-conf 2018 的分享,有兴趣的小伙伴可以点击查看)

引入 Vue


这里因为我自己习惯的框架是 Vue 所以选择使用 Vue。

electron-vue

Vue 和 electron结合起来并不是一件特别容易的事。为了方便 vue 开发者开发,出现了electron-vue,这个是 SimulatedGREG 参考 vue-cli2.0 的 webpack 模板骨架搭建的 electron 和 vue 结合的开发脚手架。

vue-cli-plugin-electron-builder

如果你想使用 vue-cli3.0 ,那么 vue-cli-plugin-electron-builder 是一个很好的选择,以插件话得方式构建 electron 应用,作者是 nklayman。(PS:简介里说自己16岁...看看人家再看看自己...)

开发

以上两种方式,前者有很多实际开发项目,后者这个月才刚刚推出1.0的正式版(不过作者更新、回复 Issues 的速度还是很快的)。具体项目创建就不详细说明了,官方文档给出的还是比较详细的。
如果使用 electron-vue 那么遇到下图这样的报错不要方,这个不影响使用。只不过作者认为这是 webpack 的问题没有处理而已。


稍微对比一下两种写法的差别,更便于选择适合自己的吧

electron-vue:主进程和渲染进程代码分别对应 main 文件夹和 render 文件夹。

vue-cli-plugin-electron-builder:正常使用 vue-cli3.0 创建项目,引入 vue-cli-plugin-electron-builder 插件。引入后会出现 background.js ,主进程相关代码在这里书写,就跟正常的 vue 项目没用什么区别。 vue-cli-plugin-electron-builder 使用的是 electron.build 工具进行的打包,如果你想要使用 electron-packager 进行打包,那么你只能使用 electron-vue 了。vue-cli-plugin-electron-builder demo 视频

总结

electron 实际上就是一个 拥有 Node 和不同平台 APIs 支持的加强版 Chromium 浏览器。render 进程开发对于大部分前端都没有什么难度,main 进程的开发Umm...看看这一张图都装不下的 APIs 吧。Demo 使用的是 vue-cli-plugin-electron-builder

前端搬砖工一枚~只是简单的分享 electron 桌面应用的项目创建,没什么深度,想要自己学习的小伙伴还是自己去爬坑吧。
一行代码,多端运行~ 感觉还是个梦想~

--END--

分享5款超级实用的手机app



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



分享5款超级实用的手机app

01 闪电超清直播

一款相对比较流畅的手机电视直播app,里面拥有的频道数量很多,它们各自分类于央视、卫视、精选以及其它各地方板块中,可以帮助你更好地切换节目。如果你家里的电视被霸占了,想急于找一款好用的手机电视直播软件,这款或许可以满足你的需求。

02 智能工具

这是一款智能工具集应用,里面拥有多达42款实用小工具,当然,这其中包含了一些比较有意思的小工具,没事的时候玩玩也挺有意思的。

智能工具所支持的功能有:指南针、放大镜、金属探测器、秒表、狗哨、振动计、测光计节拍器、水平仪、经期跟踪器、心电图等。

03 美剧鸟

美剧鸟是一款专门为美剧爱好者打造的一款手机观影神器,上面所有的影片都可以免费观看,而且资源能够实时同步更新,紧跟近期最新最热的影视剧,内容强大丰富。它支持视频离线缓存功能,让你随时随地无忧看剧。

04 Z直播

Z直播是一款集各大直播平台内容于一体的直播软件,涵盖虎牙、斗鱼、战旗、企鹅、熊猫等直播平台,具备功能强大、体积小巧、无广告等特点,用户可以随时随地关注并观看自己感兴趣的直播内容。

05 译学馆

译学馆是一款新型的学习软件,除了可以通过为视频配字幕练习英语单词、英语词汇、英语听力、英语翻译能力之外,上面也有海量的国外公开课提供大家观看,而且译学馆还有同步于YouTube的全球精彩视频供大家学习翻译。对于一些想提高自身英语水平的朋友来说,个人非常推荐这一款软件。



本章软件获取可移步至公众号"盒子匠"获取,回复关键词:app

2020年2月18日星期二

如何在YouTube上获得认证徽章(2020最新指南)



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



verify-youtube-channel-name

本文将跟大家讲讲如何在YouTube上获得验证。

首先,大家有留意在YouTube频道的一个相当不起眼的灰色标记吗?

youtube badge

这个标记代表的是你长期在YouTube提供有价值的视频的证明,从学习如何创建YouTube频道,到不断生产视频,这个徽章都是对你的认可。

既然你拥有大量的订阅者,知名的品牌和定期的优质内容,那么小灰色的标记就像是荣誉和认证徽章。

这是YouTube表明你已经成功的方式,你的频道是可信的。

 

如何在YouTube上验证

让我们开始在YouTube上验证之前,我先跟大家说下这个徽章的重要性。

在YouTube上验证是什么意思?

YouTube官方文件说,经过验证意味着YouTube频道是属于既定创作者,或者是品牌,组织或商家的官方渠道。

但它并不代表你可以使用任何特殊的优待,比如提高排名。想要提高YouTube流量,可以看下YouTube SEO优化指南,通过这么做,我的频道视频观看量提高了900%。

经过验证,会给你的品牌和渠道一个合法性和官方标记,它使用户更有可能信任你的品牌

此外,它可以防止抄袭者,或者那些搬运视频的人窃取任何应该进入你频道的流量。

查看你是否通过验证的方法是查看你的频道名称,旁边有灰色的标记吗?如果没有,你就是还没通过验证。

youtube badge_

另一种检查方法是转到"频道设置",然后点击"状态和功能"。

从那里,你将能够看到你的帐户状态。如果你的帐户已经过验证,你会在品牌名称旁边看到加粗的"已验证verified"。

 

如何申请YouTube徽章验证

要获得验证,你必须符合YouTube的资格要求:你的频道必须至少有100,000个订阅者,比如我自己的频道。

youtube subscribers

如果你符合该条件,则可以按照以下步骤操作:

 

1、转到Google的支持页面

点击以下网址:https//support.google.com/youtube/answer/3046484?hl = zh-CN

verification badges on channel

(如果你的频道订阅者不够,就不会显示联系方式)

 

2、 点击"联系流程"

如果你的频道订阅人数足够了,你可以在上面的链接找到 Contact Flow。

Youtube-channel-verification-badg

选择"Request Chat",然后选择Email,之后填写表格。

 

3、填写表格

 

Youtube-channel-verification-badge

1. 填写姓名

2. 填入自己youtube频道的url

3. 说明自己想得到徽章,"I want to verify my channel and get a verification badge"

4. 选no

5. 选yes

6. 上传自己频道订阅人数的截图

7. 提交

 

4、提交表格

YouTube通常在24小时内回复,通知你是否已经过验证。

如果他们决定验证你,那么标记徽章应该会在几天内出现!

如何在YouTube上保持验证状态

YouTube可以随时取走该验证徽章。

前提是你违反YouTube的服务条款社区准则。这是一个很大的禁忌,所以得到认证后就不要做些奇奇怪怪的事情了。

不过如果你的频道在得到徽章后,订阅人数少于10万,则YouTube不会撤销你的验证徽章。

但是,如果你决定更改自己的YouTube频道名,因为你正在进行重新命名,那么你将失去原本频道的验证状态。你始终可以使用新频道名称重新申请验证。

提高获得徽章的成功率(提高频道权威)

仅仅因为你有100,000名订阅者并不意味着YouTube一定向你授予验证标记。他们还将评估频道的其他方面。下面简单说说你该如何提高自己频道的权威,以提高订阅者。

打造品牌

将你的网站链接到你的频道。表明你的频道代表了你的官方品牌,并在YouTube审核你的频道时让你看起来更可信。

你需要一个强大的品牌才能获得验证标记。

另外,你要展示你的专业性:你的产品是否有国际认证的证书?之前有没有和其他机构合作?等等。

如果你的品牌和专业性非常强大,有时YouTube会屈服于100,000个订阅者规则。

不要做违规操作

这一点应该是显而易见的,但任何违反YouTube政策的行为都会使你难以获得验证。

比如音乐的侵权、随便搬运其他人的视频、发布颜色视频等等。

定期发布高质量的内容

不要使用劣质视频(什么用图片做成slide show的就不要了),但也不要连续几周没有上传内容。

你需要看起来很专业,而且在youtube上很活跃,会帮助你加快得到认证的速度。

 

小结

下面再重复一次认证过程:

  1. 转到  https://support.google.com/youtube/answer/3046484?hl=zh-CN  在YouTube上验证
  2. 如果符合资格要求——需要至少10万个订阅者,可以单击"联系流程Contact Flow"链接。
  3. 点击"Email电子邮件支持"并填写表单。
  4. 提交表单。 

该徽章将帮助你在YouTube的众多视频和频道中脱颖而出。

 

Peace Out

2020年2月17日星期一

推荐系统遇上深度学习(三十四)--YouTube深度学习推荐系统



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



推荐系统遇上深度学习(三十四)--YouTube深度学习推荐系统

看题目,相信大家都知道本文要介绍的便是经典的Youtube的深度学习推荐系统论文《Deep Neural Networks for YouTube Recommendations》,如果你之前已经读过该文章,那我们一起来回顾讨论一下;如果你没有读过这个文章,希望本文能够起到导读的作用,能够帮助你更好的理解文章!

1、引言

youtube是世界上最大的视频内容平台,在如此体量的平台中,推荐系统是至关重要的。但是,youtube的视频推荐面临三方面的挑战:
1)Scale:视频和用户数量巨大,很多现有的推荐算法能够在小的数据集上表现得很好,但是在这里效果不佳。需要构建高度专业化的分布式学习算法和高效的服务系统来处理youtube庞大的用户和视频数量。
2)Freshness:这体现在两方面,一方面视频更新频繁,另一方面用户行为更新频繁。
3)Noise:相较于庞大的视频库,用户的行为是十分稀疏的,同时,我们基本上能获得的都是用户的隐式反馈信号。构造一个强健的系统是十分困难的。

面临如此多的挑战,youtube是如何搭建自己的推荐系统的呢?我们一起来看看。

2、Youtube推荐系统 整体架构

Youtube推荐系统的整体架构如下:

由于网站视频数量太多,视频候选集太大,不宜用复杂网络直接进行推荐,这会造成响应时间的增加。因此,整个架构走粗排 + 精排两阶段的路子:

Candidate Generation Model:在这一步,从成百上千万的视频中选择百量级的候选视频

Ranking Model:这一步,完成对几百个候选视频的精排。

接下来,我们介绍这两阶段的实现细节。

3、候选集生成Candidate Generation

Candidate Generation阶段,会从巨大的视频库中挑选几百个用户可能感兴趣的候选集。模型的结构如下图所示:

关于该架构,我们从以下几个方面进行讨论:

3.1 输入特征

可以看到,模型的输入包括用户的观看过的视频的embedding,用户搜索过的token的embedding,用户的地理信息embedding,用户的年龄和性别信息。

这里有一个很有意思并且值得我们深思的特征,被称为"Example Age"。我们知道,每一秒中,YouTube都有大量视频被上传,推荐这些最新视频对于YouTube来说是极其重要的。同时,通过观察历史数据发现,用户更倾向于推荐那些尽管相关度不高但是是最新(fresh)的视频。看论文的图片,我们可能认为该特征表示视频被上传之后距现在的时间。但文章其实没有定义这个特征是如何获取到的,应该是训练时间-Sample Log的产生时间。而在线上服务阶段,该特征被赋予0值甚至是一个比较小的负数。这样的做法类似于在广告排序中消除position bias。

假设这样一个视频十天前发布的,许多用户在当前观看了该视频,那么在当天会产生许多Sample Log,而在后面的九天里,观看记录不多,Sample Log也很少。如果我们没有加入Example Age这个特征的话,无论何时训练模型,这个视频对应的分类概率都是差不多的,但是如果我们加入这个特征,模型就会知道,如果这条记录是十天前产生的话,该视频会有很高的分类概率,如果是最近几天产生的话,分类概率应该低一些,这样可以更加逼近实际的数据。实验结果也证明了这一点,参见下图:

3.2 样本和上下文选择

在这里,正样本是用户所有完整观看过的视频,其余可以视作负样本。

训练样本是从Youtube所有的用户观看记录里产生的,而并非只是通过推荐系统产生的。同时,针对每一个用户的观看记录,都生成了固定数量的训练样本,这样,每个用户在损失函数中的地位都是相等的,防止一小部分超级活跃用户主导损失函数。

在对待用户的搜索历史或者观看历史时,可以看到Youtube并没有选择时序模型,而是完全摒弃了序列关系,采用求平均的方式对历史记录进行了处理。这是因为考虑时序关系,用户的推荐结果将过多受最近观看或搜索的一个视频的影响。文章中给出一个例子,如果用户刚搜索过"tayer swift",你就把用户主页的推荐结果大部分变成tayer swift有关的视频,这其实是非常差的体验。为了综合考虑之前多次搜索和观看的信息,YouTube丢掉了时序信息,讲用户近期的历史纪录等同看待。但是上述仅是经验之谈,也许类似阿里深度学习演化网络中RNN + Attention的方法,能够取得更好的推荐效果。

最后,在处理测试集的时候,YouTube没有采用经典的随机留一法(random holdout),而是把用户最近的一次观看行为作为测试集,如下图。这主要是避免引入超越特征。

3.3 离线训练

从模型结构可以看出,在离线训练阶段,我们将其视为了一个分类问题。我们使用隐式反馈来进行学习,用户完整观看过一个视频,便视作一个正例。如果将视频库中的每一个视频当作一个类别,那么在时刻t,对于用户U和上下文C,用户会观看视频i的概率为:

其中,u是用户的embedding,这个embedding,是网络最后一个Relu激活函数的输出,vi是视频i的embedding。那么问题来了,输入时,每一个视频也有一个对应的embedding,这个embedding是不是计算softmax的embedding呢?这里文章也没有说清楚?也许一个视频对应一个embedding,也许一个视频对应两组不同的embedding。关于这个问题的理解,欢迎大家在评论区留言!

使用多分类问题的一个弊端是,我们有百万级别的classes,模型是非常难以训练的,因此在实际中,Youtube并使用负样本采样(negative sampling)的方法,将class的数量减小。还有一种可以替换的方法,成为hierarchical softmax,但经过尝试,这种方法并没有取得很好的效果。关于上面的两种方法,大家是不是想起了word2vec中训练词向量的两种方式?但是这里的负采样和word2vec中的负采样方法是不同的,这里采样之后还是一个多分类问题,而word2vec中的负采样方法是将问题转为了一个二分类问题。

下图是离线训练的结果,使用的评价指标是MAP(Mean Average Precision),主要考察的两个点是输入特征以及网络层数对于实验效果的影响:

3.4 在线服务

对于在线服务来说,有严格的性能要求,必须在几十毫秒内返回结果。因此,youtube没有重新跑一遍模型,而是通过保存用户的embedding和视频的embedding,通过最近邻搜索的方法得到top N的结果。

从图中可以看到,最终的结果是approx topN的结果,所以并不是直接计算用户embedding和每个视频embedding的内积。如果这样做的话,N个视频的内积计算 + 排序,时间复杂度大概是NlogN,这样很难满足时间复杂度要求。如果使用局部敏感哈希(Locality-Sensitive Hashing, LSH)等近似最近邻快速查找技术,时间复杂度是可以大大降低的。

但文中只是提到说使用hash的方法来得到近似的topN,所以也许不是局部敏感哈希方法,不过如果想要了解一下该方法的原理,可以参考博客:https://www.cnblogs.com/wt869054461/p/8148940.html

4、排序Ranking

排序过程是对生成的候选集做进一步细粒度的排序。模型的结构图如下所示:

4.1 输入特征

在排序阶段,输入的特征主要有:

impression video ID embedding: 当前要计算的video的embedding
watched video IDs average embedding: 用户观看过的最后N个视频embedding的average pooling
language embedding: 用户语言的embedding和当前视频语言的embedding
time since last watch: 用户上次观看同频道时间距现在的时间间隔
previous impressions: 该视频已经被曝光给该用户的次数

前面三组特征是比较好理解的,我们重点来看一下后面两组特征的作用。第4个特征是用户上次观看同频道时间距现在的时间间隔,这里有一点attention的意思,加入我们刚看了一场NBA比赛的集锦,我们很可能继续观看NBA频道的其他视频,那么这个特征就很好地捕捉到了这一行为。第5个特征previous impressions则一定程度上引入了exploration的思想,避免同一个视频持续对同一用户进行无效曝光。尽量增加用户没看过的新视频的曝光可能性。

4.2 特征处理

特征处理主要包含对于离散变量的处理和连续变量的处理。

对于离散变量,这里主要是视频ID,Youtube这里的做法是有两点:
1、只保留用户最常点击的N个视频的embedding,剩余的长尾视频的embedding被赋予全0值。可能的解释主要有两点,一是出现次数较少的视频的embedding没法被充分训练。二是也可以节省线上服务宝贵的内存资源。
2、对于相同域的特征可以共享embedding,比如用户点击过的视频ID,用户观看过的视频ID,用户收藏过的视频ID等等,这些公用一套embedding可以使其更充分的学习,同时减少模型的大小,加速模型的训练。

对于连续特征,主要进行归一化处理,神经网络对于输入的分布及特征的尺度是十分敏感。因此作者设计了一种积分函数将连续特征映射为一个服从[0,1]分布的变量。该积分函数为:

个人理解就是将概率密度分布转换成了累计密度分布。为了引入特征的非线性,除了加入归一化后的特征外,还加入了该特征的平方和开方值。

4.3 建模期望观看时间

在训练阶段,Youtube没有把问题当作一个CTR预估问题,而是通过weighted logistic 建模了用户的期望观看时间。

在这种情况下,对于正样本,权重是观看时间,而对于负样本,权重是单位权重(可以认为是1),那么,此时,观看时长的几率(odds,在原逻辑回归中,指正例发生的概率与负例发生概率的比值)为:

上式中,Ti指样本中第i条正样本的观看时长,N是所有的训练样本,k是正样本的个数。在k特别小的情况下,上式近似为ET,P是点击率,E[T]是视频的期望观看时长,因为P非常小,那么乘积近似于E[T]。

同时,对于逻辑回归,我们知道几率的计算公式其实就是exp(wx + b),同时几率可以近似于期望观看时长E[T],那么我们在测试阶段,就可以直接输出exp(wx + b),作为期望观看时长。

离线训练的效果如下图:

5、总结

好了,本文就到这里了,我们一起回顾了一下Youtube的视频推荐系统,它是一个两阶段的系统。在每一个阶段,都有很多值得我们思考和学习的细节。最后,引用推荐阅读3中的十大问题,帮助你检验是否真正理解了文章的内容:

1、文中把推荐问题转换成多分类问题,在next watch的场景下,每一个备选video都会是一个分类,因此总共的分类有数百万之巨,这在使用softmax训练时无疑是低效的,这个问题Youtube是如何解决的?
2、在candidate generation model的serving过程中,Youtube为什么不直接采用训练时的model进行预测,而是采用了一种最近邻搜索的方法?
3、Youtube的用户对新视频有偏好,那么在模型构建的过程中如何引入这个feature?
4、在对训练集的预处理过程中,Youtube没有采用原始的用户日志,而是对每个用户提取等数量的训练样本,这是为什么?
5、Youtube为什么不采取类似RNN的Sequence model,而是完全摒弃了用户观看历史的时序特征,把用户最近的浏览历史等同看待,这不会损失有效信息吗?
6、在处理测试集的时候,Youtube为什么不采用经典的随机留一法(random holdout),而是一定要把用户最近的一次观看行为作为测试集?
7、在确定优化目标的时候,Youtube为什么不采用经典的CTR,或者播放率(Play Rate),而是采用了每次曝光预期播放时间(expected watch time per impression)作为优化目标?
8、在进行video embedding的时候,为什么要直接把大量长尾的video直接用0向量代替?
9、针对某些特征,比如#previous impressions,为什么要进行开方和平方处理后,当作三个特征输入模型?
10、为什么ranking model不采用经典的logistic regression当作输出层,而是采用了weighted logistic regression?

推荐阅读

以下几篇文章推荐大家进行阅读,便于加深理解:
1、https://blog.csdn.net/xiongjiezk/article/details/73445835
2、https://zhuanlan.zhihu.com/p/52169807
3、https://zhuanlan.zhihu.com/p/52504407

2020年2月15日星期六

200+个精选广告词,不用怕写不出广告语!(适用于谷歌和Facebook广告)



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



 

 

你在纠结如何写谷歌或Facebook谷歌的广告词吗?

想说价格便宜,除了cheap和sale,还能用什么词?

这里图帕先生给你精选200多个可用的广告词去选择!从此告别词穷!

 

其实广告词真的很重要,因为吸睛的词语会直接影响用户是否点击你的广告。如果他们不点击进入你的网站,从何谈成交?

而且谷歌广告里面的ad rotation功能,会自动把你表现好的广告优先展示,你就有很多测试广告词的机会。

比如我自己的广告,一个用best selling还要first choice,另一个用latest,数据就会告诉我,哪个词最能吸引人。

200个广告词

相信看完这篇文章,会对你写广告词用非常大的启发。

想表达便宜,除了cheap、sale、low之外,你会学到还能用unbelievable, amazing, astonishing等等的更好更丰富的形容词。或者你继续用cheap,但加上一个副词去修饰:astonishingly cheap,也是能把广告词提升一个格调。

这里我会分成两大部分,第一部分的词可以用于描述产品的质量或价格,第二部分可用于描述网站的服务、功能、客服、快递等。

 

一、用于描述产品质量或价格

 

英文 中文
Brutal 野蛮的,表示程度大
Crazy 疯狂的
Minimalist 极简主义(如果产品颜色或设计比较单调,用这个词就能把不好的单调,变成逼格高的极简主义)
Stunning 惊艳的
Captivate 着迷的
Charming 迷人
Dreamy 如梦如幻
Delicious 美味的
Alluring 诱人的
Amazing 惊人的
Mind-Blowing 意想不到的
Astonishing 惊人的
Astounding 惊人的
Awesome 极好的
Awe-struck 敬畏的
Badass 牛逼的
Brilliant 非常棒的
Frank 坦率(形容是老实价)
Secret 秘密
Prideful 骄傲的
Spectacle 盛大的
Epic 史诗般的
Explosive 爆炸性的
Exquisite 精美的
Incredible 难以置信的
Jaw-dropping 让人惊掉下巴(可以形容价格之低)
Mesmerizing 令人着迷的
Mouth-watering 让人流口水的
Spellbinding 引人入胜的
Sublime 超群的
Unleashed 释放(新产品解禁)
Unbelievable 难以置信的
Dominating 占主导地位的的
Magnificent 壮丽的
Wonderful 精彩的
Remarkable 显着的
Phenomenal 显著的
Miraculous 神奇的
Extraordinary 非凡的
Sensational 轰动的
Striking 引人注目
Outstanding 优秀的
Eye-catching 醒目的
Cringe-worthy 值得一看
Master 大师(比如卖家具,你就是椅子大师)
Completely 完全地
Exciting 令人兴奋的
Essential 必要的
Impenetrable 坚不可摧的
Meticulous 细致的
Practical 实用的
Perfect 完美的
Luxury 豪华的
Best 最好的
Truly 真的
Well-Packed 包装好的
Better 更好
Extremely 非常
Total
Proven 证实过的
Undeniable 不可否认
Features 特征
Premium 高级的
High-quality 高质量
Glamorous 迷人的
One-of-a-kind 独一无二的
Exclusive 独家的
Priceless 无价的
Daring 大胆的
Unconventional 非传统的
Thrilling 令人震惊的
Bold 胆大的
Fascinating 迷人的
Intriguing 有趣的
Riveting 吸引人的
Compelling 引人注目的
Tempting 诱人的
Unusual 异常的
Unique 独特的
Inventive 有创造力的
Official 官方(用于品牌词的广告)
Powerful 强大的
Reliable 可靠的
Potential 潜在的
Bargain 便宜的
Affordable 负担得起的
Cheap 便宜的
Forever 永远
Immediately 立即
Instantly 即刻
Increase 增加
Hysterical 歇斯底里的
Absolute 绝对的
Genuine 真实的
Backed 支持的
Complete 彻底的
Comprehensive 全面的
Expert 专家
Final 最后
Bonus 额外奖励
Forceful 有力的
Chic 别致的
Deluxe 豪华的
High-class 高级的
Latest 最新的
Life-changing 改变生活的
Desire 欲望
Craving 渴望的
Shocking 令人震惊
Irresistible 不可抗拒
Seductive 诱人的
Awe-inspiring 令人敬畏的
Breathtaking 令人激动的
Dazzling 耀眼的
Satisfy 满足
Tantalizing 诱人的
Crushing 剧烈的
Devastating 毁灭性的
Enthusiasm 热情
Inspiring 鼓舞人心的
Stylish 时尚的
Now 现在(现在就下单吧)
Never 决不
Overnight 一夜间
Promotion 促销
Unlimited 无限
Unstoppable 不可阻挡
Massive 大量的
Gigantic 巨大的
Enormous 巨大的
Impressive 令人印象深刻
Potent 有力的
Guilt-free 无罪感的(用于体现价格优势,买了也不后悔)
Imposing 令人信服的
Alarming 令人震惊的
Special 特别的
Breaking 惊人的
Lavish 奢华的
Fashionable 时髦的
Emerging 新兴的
First 第一
Little-known 鲜为人知
New
Popular 流行的
Rare 罕见的
Swoon-worthy 值得一看
Gorgeous 华丽的
Surprise 惊喜的
Fantastic 太棒了
Wondrous 奇妙的
Unforgettable 难忘的
Phenomenal 非常的
Trend 趋势
Sneak-Peek 抢先看
Originality 独创性
loved by 被..喜爱
Affordable 负担得起的
Cheap 便宜的
Sale 贱卖
discount 折扣

二、用于描述网站服务(如购物流程、快递、客服等)

 

英文 中文
Free 免费
Simple 简单
Basics 基本
Easy 简单
Effortless 毫不费力,可用于描述(注册/购买)流程简单
On-Demand 按需
Painless 无痛,可用于描述(注册/购买)流程简单
Savvy 精明的
Tricks 技巧
Step-by-Step 一步步
Plain 明了的
Straightforward 直截了当
Fundamental 基本的
Pure 纯粹的
Delightful 愉快
Outstanding 优秀(优秀的客服outstanding customer service)
Genuine 真正
Honest 诚实
Ironclad 铁定
Legitimate 合法,合理
Objectively 客观地
Official 官方
Powerful 强大
Reliable 可靠
Affordable 负担得起的
Cheap 便宜的
Instantly 即刻
Positive 积极的
Lifetime 一生
Passionate 热情的
Satisfaction 满足
Now 现在
Never 决不
Overnight 一夜间(一夜就process order)
Quick-start 快速开始
Speedy 迅速
Expedite 畅通的
Swift 迅速
Immediate 即时
Rapid 快速
Promptly 及时
Seriously 认真地
Fulfill 履行
Excess 超过
Unadulterated 纯粹的
Well-Packed 包装好的
Best 最好
Practical 实用的
Perfect 完美的
Overnight 一夜间
Promotion 促销
Unlimited 无限
Satisfy 满足
Proven 证实过的
Now 现在(现在就下单吧)

2020年2月14日星期五

只需10分钟!就能用Flask,Docker和Jenkins部署机器学习模型



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



只需10分钟!就能用Flask,Docker和Jenkins部署机器学习模型

摘要: 一杯茶的功夫部署完成机器学习模型!

在生产环境中部署机器学习模型是数据工程中经常被忽视的领域。网上的大多数教程/博客都侧重于构建、训练和调整机器学习模型。如果它不能用于实际的预测,那么它又有什么用呢? 接下来了解一下有哪些部署选项吧:

评估选项

在生产中部署机器学习模型时,有多种选择。其中一种流行的方法是使用Azure Machine Learning Studio等云服务设计和训练模型,这些服务具有使用拖放工具构建和训练模型的能力。此外,将这些模型作为Web服务发布只需点击几下即可。此类设置的附加优势在于,该部署会随着应用程序使用量的增加而自动扩展。
虽然短时间看起来很方便,但从长远来看,这种设置可能会有问题。当我们想要将应用程序从第三方云平台迁移并将其部署在我们的服务器上时,就有难度了。由于这些工具与其各自的云平台紧密集成,因此这种设置不可移植。此外,随着应用程序的扩展,云计算的成本可能是一个令人望而却步的因素。

如果我们构建自定义REST-API作为机器学习模型的终点,则可以避免这些问题。特别是,本文将使用基于Python的Flask Web框架来为模型构建API,然后将这个flask应用程序整齐地集成到Docker映像中来进行部署。Docker显然适合解决这个问题,因为应用程序的所有依赖项都可以打包在容器中,并且可以通过必要时刻简单地部署更多容器来实现可伸缩性。这种部署架构本质上是可扩展的、成本有效的和便携的。

Docker:Docker是一种开源的容器化技术,允许开发人员将应用程序与依赖库打包在一起,并将其与底层操作系统隔离开来。与VM不同,docker不需要每个应用程序的Guest虚拟机操作系统,因此可以维护轻量级资源管理系统。与容器相比,虚拟机更重量级,因此容器可以相对快速地旋转,同时具有较低的内存占用,这有助于将来我们的应用程序和模型的可伸缩性。

Jenkins:Jenkins可能是最受欢迎的持续集成和持续交付工具,大约拥有1400个插件,可自动构建和部署项目。Jenkins提供了一个在其管道中添加GitHub web-hook的规定,这样每次开发人员将更改推送到GitHub存储库时,它都会自动开始为修改后的模型运行验证测试,并构建docker镜像来进行部署。
ngrok:ngrok是一个免费工具,可将公共URL传送到本地运行的应用程序它会生成一个可以在GitHub web-hook中用于触发推送事件的URL。
Flask:Flask是一个用Python编写的开源Web框架,内置开发服务器和调试器。虽然有许多可以替代Web框架来创建REST API,但Flask的简单性备受青睐。

部署

你可能想知道"我进入了什么样的环状土地?"但我保证接下来的步骤将变得简单实用。到目前为止,我们已经了解了部署体系结构中的不同组件以及每个组件的功能的简要说明。在本节中,将介绍部署模型的详细步骤。

部署过程可以暂时分为四个部分:构建和保存模型、使用REST API公开模型,将模型打包在容器内以及配置持续集成工具。
在继续下一步之前,使用以下命令将GitHub存储库复制到本地计算机。 此存储库包含所有代码文件,可用作部署自定义模型的参考。

git clone git@github.com:EkramulHoque/docker-jenkins-flask-tutorial.git 

注:虽然以上提到的步骤适用于Windows操作系统,但修改这些命令以在Mac或Unix系统上运行应该是很简单的。

训练和保存模型

在本例中,使用来自scikit-learn的鸢尾花数据集来构建我们的机器学习模型。在加载数据集后,提取用于模型训练的特征(x)和目标(y)。为了进行预测,先创建一个名为"labels"的字典,其中包含目标的标签名称,这里将决策树分类器用作模型。你可以在sklearn随意尝试其他分类器 ,通过调用模型上的方法来生成测试数据的预测标签。
我们使用pickle库将模型导出为pickle文件,并将模型保存在磁盘上。从文件加载模型后,我们将样本数据作为模型的输入并预测其目标变量。

#!/usr/bin/env python # coding: utf-8 import pickle from  sklearn import  datasets iris=datasets.load_iris() x=iris.data y=iris.target  #labels for iris dataset labels ={   0: "setosa",   1: "versicolor",   2: "virginica" }  #split the data set from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=.5)  #Using decision tree algorithm from sklearn import tree classifier=tree.DecisionTreeClassifier() classifier.fit(x_train,y_train) predictions=classifier.predict(x_test)  #export the model pickle.dump(classifier, open('model.pkl','wb'))  #load the model and test with a custom input model = pickle.load( open('model.pkl','rb')) x = [[6.7, 3.3, 5.7, 2.1]] predict = model.predict(x) print(labels[predict[0]]) 

构建REST API:

Flask web框架帮助我们创建与模型通信所需的HTTP端点,我们使用pickle.load()方法从磁盘读取保存的模型。

Flask提供了一个route()装饰器,它告诉应用程序哪个URL应该调用相关的函数。它接受2个参数,即"rule"和"options"。 'rule'参数表示绑定到函数的URL,'options'是要转发到Rule对象的参数列表。
在示例中,'/ api'URL绑定到predict()函数。因此,当我们发出POST请求时,它会调用以JSON格式接收特征向量的函数。然后将"特征"向量传递到模型中,该模型对"特征"向量进行预测,然后以JSON格式返回标签。

请注意,Flask类的run()方法是在本地开发服务器上运行应用程序。在这里,将主机传递为'0.0.0.0',以便在docker容器中公开它。你可以在docker配置设置中查看更多相关信息。

 from flask import Flask, request, jsonify import json import pickle import pandas as pd import numpy as np  app = Flask(__name__)  # Load the model model = pickle.load(open('model.pkl','rb')) labels ={   0: "versicolor",      1: "setosa",   2: "virginica" }  @app.route('/api',methods=['POST']) def predict():     # Get the data from the POST request.     data = request.get_json(force=True)     predict = model.predict(data['feature'])     return jsonify(predict[0].tolist())  if __name__ == '__main__': app.run(debug=True,host='0.0.0.0') 

打包

为了允许Docker托管我们的API,我们需要指定一组允许Docker构建映像的指令。这组指令可以保存在Dockerfile中,该文件包含了可在命令行上调用来创建Docker镜像的所有命令。
现在开始创建Dockerfile,先打开文本编辑器并将其另存为"Dockerfile",不带后缀或前缀。

FROM ubuntu:16.04 FROM python:3.6.5 RUN apt-get update -y && \     apt-get install -y python-pip python-dev  # We copy just the requirements.txt first to leverage Docker cache COPY ./requirements.txt /app/requirements.txt  WORKDIR /app  RUN pip install -r requirements.txt  COPY . /app  CMD python /app/model.py && python /app/server.py 

工作目录现包含以下文件:

  • model.py用于训练和构建模型;
  • server.py来管理请求和服务器;
  • Dockerfile包含docker镜像的说明;
  • requirements.txt包含API所需的库;

持续集成

到目前为止,我们已经创建了Flask API,完成了一个Dockerfile并将项目推送到git存储库中。作为先决条件,需要安装这3个应用程序--Docker,Ngrok和Jenkins。本节中的视频将演示之前在架构图中提到的整个过程。

结论

在这篇博客中,我们深入研究了使用Docker,Flask和Jenkins部署机器学习模型的过程。 我们希望对你在生产中部署自己的机器学习模型时有所帮助。可以在此处找到本文中提供的代码的GitHub。



本文作者:【方向】

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

AI换脸朱茵变杨幂!但上次是用在成人电影女星,轰动国外...



YTHunder是一个免费增加YOUTUBE观看次数的网站, 使用到现在三年多了,每天10万人同时在线看对方的影片。 而YTHunder可以提供的服务有: YOUTUBE观看次数提升,YOUTUBE订阅增长,YOUTUBE喜欢数上升。赶快注册使用吧。



AI换脸朱茵变杨幂!但上次是用在成人电影女星,轰动国外...

虽然遭到全网封禁,但人工智能深度换脸技术——deepfakes并没有淡出人们的视野。近日,这项技术还伸向了国内电视剧,这次"中招"的是女明星杨幂。

大家可能都记得杨幂曾出演过《神雕侠侣》里的"郭襄"一角,但你看过她演《射雕英雄传》里的"黄蓉"吗?

杨幂版黄蓉

从上面几张视频截取的动图可以发现,除了脸部五官是杨幂的,发型和服饰是原演员朱茵的扮相。这条视频最初由哔哩哔哩网站上一位用户名为"换脸哥"的博主上传,不过目前这条视频在哔哩哔哩网站已经失效。

这条视频释出后,在网上引发了激烈的争论,"将朱茵的黄蓉换成杨幂的脸"这个话题在微博上的浏览量甚至达到1.2亿次。

有人认为这是对原演员的不尊重,甚至会导致部分流量明星可以不用担心演技问题,疯狂轧戏。只要先用替身完成拍摄,最后再用AI技术进行换脸,省时又省力。还有不少人认为这严重侵犯了隐私和肖像权。

实际上,这并非deepfakes第一次在网上引发争议。在这之前,曾有人用deepfakes将"神奇女侠"盖尔·加朵的脸被贴在了一个成人电影女主的脸上,当时新闻一出在网络上引起了轰动。

deepfakes是如何做到换脸的?

deepfakes背后的技术并非高深难懂,简单来说,它是一个通过机器学习技术搭建的系统:可以让机器学习女明星的面部特征,最后合成到了影片的面部。

deepfakes搭建的系统可以通过谷歌图片搜索、网络图库、Youtube视频等途径获取的素材,利用这些素材通过TensorFlow等多个开源库,训练深度学习网络,经过反复训练后,系统就会自动替换脸部信息。学习样本越多,生成脸谱图的还原度就会越高。

最初,在Reddit网站上,一位用户名为"deepfakes"的网友发布了自己制作的换脸视频,将成人影片的女主角换成了神奇女侠,短时间吸引了大量的人气,广大网友顺理成章地把他的网名作为这项技术的命名。

没过多久,同名算法在GitHub开源,由deepfakes技术制作的视频在网上也越来越多。杰西卡·阿尔芭、艾玛·沃特森等好莱坞明星纷纷被"换脸"。

好莱坞影星纷纷"中招"

除了Reddit上的讨论外,在2018年1月,还有人推出了Windows程序的FakeApp,这大大降低了deepfake的使用门槛,它允许用户很轻松地自制换脸视频,即使你没有任何人工智能方面的知识。

但是由于许多用户将deepfakes技术用于制作虚假视频,例如伪造政治家公开演讲,制作著名女星色情内容等,导致这项技术声名狼藉。

之后,deepfakes便被全网封禁:Reddit讨论版被删除,GitHub开源代码也被清除。成人视频网站上也删掉了用deepfakes算法做的视频。FakeApp的官网目前也已无法使用。

不过,澎湃新闻在网络上搜索deepfakes时,仍在论坛上发现了相关的下载链接和安装教程。

换脸让人脸识别技术也无法识别?

没有人工智能背景的人都能做到换脸,并且能以假乱真,这让部分人担心这项技术会不会被不法分子用与进行诈骗等行为。诸如杨幂出演1994版《射雕英雄传》,川普撞脸希拉里,好莱坞女影星出演成人电影等视频的流出,则让人担心肖像权和个人隐私安全问题。

希拉里撞脸川普

deepfakes制作的视频和图片,一般人如果用肉眼无法识别,那么利用人脸识别技术能否识破呢?

人脸识别公司云从科技技术人员告诉澎湃新闻(www.thepaper.cn),人脸识别技术能否识别deepfakes制作的内容,要看制作的视频和技术应用在什么场景。"因为现在不管是人脸还是人体都是往3D化在走,这种通过屏幕呈现的东西已经可以被活体检测技术检测出来了,不管是目前应用比较广的红外双目,或是正在推的3D结构光与深度摄像头的技术(TOF)。"

对于一项技术来说,本身并没有对错,关键看掌握这项技术的人如何应用。例如,好莱坞的一些数字特效公司就对这项技术非常感兴趣,这种将一位演员的面容"移植"到另外一个身体上的技术,对于他们来说,可以提高后期制作的效率,并且能节约成本。

这次杨幂出演"黄蓉"的视频,除了引发粉丝讨论流量明星再也不用担心演技的话题外,从另一个角度看,其实也给公众提了一个醒。"换脸哥"在自己的主页上也给出了公告:AI换脸是一种新技术,大家对它的认识还不够,希望让更多朋友了解 , 否则将来有人伪造明星负面内容的视频时 , 将会给公众人物带来更大的损失。这些作品没有任何恶意,也并非商业用途,如果认为这些内容有损您的权益,请私信联系,在下一定及时处理。

未来,技术使用门槛会越来越低,公众对于网上流传的视频和图片或许更需要一双"火眼金睛"。



为了帮助大家让学习变得轻松、高效,给大家免费分享一大批资料,让AI越来越普及。在这里给大家推荐一个人工智能Python学习交流群:705673780欢迎大家进群交流讨论,学习交流,共同进步。

当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。

但最重要的是不知道哪些技术需要重点掌握,学习时频繁踩坑,最终浪费大量时间,所以拥有有效资源还是很有必要的。