社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

GAN!深度学习怎么运用在现实?当然是拿来赚外快啊!

深蓝AI • 1 年前 • 282 次点击  
Part.01
有位同学问了笔者一个很尖锐的问题。他上周刚刚入职一家车企,成为了一名深度学习算法工程师。他一直都很困惑自己学了这么多东西,除了工作之外还能怎么运用。比如深度学习中有没有什么东西是可以一通百通能运用在现实的?
还真有,GAN!生成对抗网络呀!
在这里我先简单说明下GAN模型是什么,懂得可以直接跳过。
GAN包含有两个模型,一个是生成模型(generative model),一个是判别模型(discriminative model)。生成模型的任务是生成看起来自然真实的、和原始数据相似的实例。判别模型的任务是判断给定的实例看起来是自然真实的还是伪造的。
也就是说GAN的核心思想就是生成模型和判别模型就相当于一对死冤家,生成模型负责造假,判别模型负责分辨到底是不是假。如果判别器判别出生成器给出的为假则输出0,若认为生成器给出的为真则生成1。
GAN模型训练到最终的结果就是达成纳什均衡,即生成器给出了完全可以以假乱真的结果,导致判别器再也无法判别出结果。最终准确率等于50%,相当于胡乱猜。
估计这时候就有朋友要问了。淦!你用生成对抗网络搞个Deepface之类的还可以用得上,在现实生活中你能怎么运用?
还真有的用,你改一改公式变形不就可以了。这里咱们就用GAN的思想解决一个困扰无数人的问题。
Part.02
举个简单的例子
假设你在求职,我们都知道求职最主要的就是过HR这关。HR这关过了说明站在企业的角度,你的硬性指标大体合格了。但是过HR这关很重要的一点就是你得有一份钩子(好的简历),以达到精准引流(吸引hr的眼睛),最终转化变现(上班赚钱)。
现在你作为求职者你就是生成器,负责生成简历。生成简历之后你站在相反的位置摇身一变又成了判别器,就是HR。为了结果更精准此时我们假设有十个判别器同时参与博弈过程。
站在生成器的角度,一开始生成简历的时候肯定会绞尽脑汁想要写出一份HR满意的简历。通常会写自己来自什么实验室,发过多少篇顶会,实习的经历有什么等等。
现在我们站在判别器的角度来审视这份简历。作为HR肯定不会上来看完简历就打电话联系,也不会看到这份简历含金量高就直接邀约面试。
HR会先想一下,我所在的企业和对应的业务哪方面差了人手,这个人来我这里之后他应该干点啥。干这些东西都需要什么样的经历,我需要怎样来证明这个人可堪重用。
收到简历后大多数判别器都给了0,简历这个时候又被打了回来。生成器猜测可能是因为写了经历和来历,但是并没有写都做过什么,导致简历被打回。于是开始更新权重开始迭代,生成新的简历送到判别器。
这次判别器有一半都给了0,有一半给了1。这说明更新权重是有作用的,生成器猜测可能是因为并没有写自己做的成绩,导致判别器无法评估能给企业创造多少价值,于是继续更新,往复迭代N次最后达成纳什均衡。
以上就是一个很简化的模型,虽然电脑的算力比人脑要强大无数倍,但是目前的电脑还不能像人脑一样处理稀奇古怪的问题。以往GAN更多运用在Deepface等技术上,但是其背后这种零和博弈的思想却是极有价值的。
很多人都抱怨自己的简历hr看了从来都不回消息,把所有的问题都归咎于hr标准太高。但是大多数人从没有想过自己写的这份简历到底是不是hr想要的,很多人都是套个模板,写完之后看都不看直接发hr邮箱。Hr屡次判0之后也不去站在hr角度迭代自己的简历,这样写简历必然会石沉大海。
把GAN这种自己跟自己博弈的理论拿过来处理现实中的事情,往往能让自己拥有快速迭代持续输出的能力。
Part.03
实践是检验真理的唯一标准
说了这么多,不管是黑猫白猫,能抓到耗子的就是好猫。再好听的理论也得放到现实市场中真刀真枪干一下才知道行不行。
在三个月前笔者正在构思这篇文章时,决定在A股,以股票交易的方式来验证我的观点。
特别说明:以下过程为降低阅读门槛,部分步骤和过程略过。
只买基本面良好且具备炒作话题的标的,且标的应为行业上市股中的龙头企业
只买被低估且正在上升趋势的标的
只在市场反转时入场,下次反转时离场
三日线上穿五日线则为买入信号,反之下穿五日线则为卖出信号
众所周知,所有市场中都有两股力量,分别为多方和空方,简单来说谁钱多谁就能操纵股价。笔者把多方类比为生成器(只要是高于现价即为多方),空方为判别器(由于A股不能明面做空,所以只要是低于现价卖出即为空方)。
我们假设多方买入一手为生成器输出,股价被抬升则为1,股价没有被抬升则为0,若空方无论是买还是卖都不能阻止股价上涨时则为纳什均衡。
也就是说,在初始股价未拉升阶段体现在股价则为横盘震荡,输出值为完全随机。股价拉升时判别器则一直输出1,这个时候的股价一直处于上升阶段,判别器一直输出1,此时为纳什均衡。若某天空方成功阻止股价上涨则为打破均衡,判别器输出连续的0,与此同时K线图形成3日线下穿五日线信号,此时卖出股票获利。
也就是说这个模式是在确认标的基本面向好,且有炒作的价值后,根据多空力量来决定买卖,本质是顺应趋势而为做右侧交易。此交易系统只能做到吃进大部分利润,但并不能卖在高点。
所以选择一个具备上涨趋势的标的是重中之重,这一条也和深度学习中的数据预处理不谋而合。例如识别买入信号和卖出信号与判断市场反转,所需要的技术手段也是需要一定的时间来学习。
具体可以根据自己的实际情况做一下实践~
以上内容说明把深度学习理论,尤其是生成对抗网络模型运用在交易上,是可以赚钱的。如果我们再根据以上交易逻辑写一个程序。恭喜你,你自己已经拥有了一个量化基金。
看到这里我相信你已经明白,我们在深度学习中学到的知识尤其是思想是大有用处的。给他适当的变形,再结合不同的知识,融会贯通为我所用,我们完全可以在工作之余拿来帮助自己做成一些事情。
   ABOUT 
    关于我们 

深蓝学院是专注于人工智能的在线教育平台,已有数万名伙伴在深蓝学院平台学习,很多都来自于国内外知名院校,比如清华、北大等。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/155551
 
282 次点击