礼泉| 铁山| 察哈尔右翼后旗| 云林| 平坝| 昆山| 富锦| 彭水| 南丰| 龙山| 梅河口| 张湾镇| 金湖| 集安| 固安| 五指山| 郾城| 三穗| 洪洞| 通榆| 成都| 龙口| 沙河| 华阴| 开封县| 甘德| 临安| 辽宁| 洛宁| 泾源| 慈利| 容县| 察哈尔右翼前旗| 金门| 鄯善| 五常| 班戈| 三原| 壤塘| 寻甸| 逊克| 睢县| 呼玛| 会昌| 岑巩| 沙湾| 焦作| 玉门| 凭祥| 黑山| 台南市| 鹤岗| 瓮安| 北流| 高明| 南昌县| 义县| 宜良| 永寿| 纳雍| 胶南| 道真| 铁力| 靖西| 安康| 平武| 兴仁| 嘉善| 容县| 威远| 新巴尔虎左旗| 碾子山| 中宁| 安吉| 凤山| 丹东| 塔城| 黔江| 莱西| 丹寨| 桐城| 万载| 龙山| 霍邱| 息烽| 河津| 民丰| 峡江| 云南| 抚松| 浮梁| 印台| 乌兰| 林甸| 察哈尔右翼后旗| 琼中| 钓鱼岛| 宜良| 临朐| 永年| 玉龙| 金堂| 美溪| 通化县| 白云| 贺兰| 临清| 扶余| 二道江| 耒阳| 玉门| 台北市| 滦县| 台前| 镇宁| 海林| 太和| 田林| 仪征| 北海| 岑溪| 措美| 阳信| 丘北| 贵阳| 图们| 鸡东| 安义| 廉江| 邢台| 古浪| 宁夏| 东至| 海安| 遂川| 信宜| 夏津| 察哈尔右翼中旗| 宜州| 渭南| 文县| 什邡| 户县| 锡林浩特| 永春| 昆明| 余干| 利辛| 王益| 中牟| 扶绥| 贺兰| 康县| 加格达奇| 眉县| 华县| 陇西| 绿春| 景谷| 东川| 于田| 开鲁| 阳朔| 烈山| 图木舒克| 泸定| 烟台| 长阳| 邯郸| 革吉| 安康| 禄丰| 罗城| 六枝| 衡阳县| 即墨| 乌海| 黄石| 玉门| 富顺| 孝感| 杜尔伯特| 日喀则| 丁青| 故城| 都昌| 东莞| 金塔| 泌阳| 梓潼| 昭觉| 新邵| 西和| 祁门| 达坂城| 沈阳| 大同市| 莘县| 惠东| 萨迦| 天等| 张家川| 抚顺县| 科尔沁左翼中旗| 白银| 新民| 湄潭| 句容| 井冈山| 崇左| 六合| 张家界| 鞍山| 苗栗| 喜德| 东乌珠穆沁旗| 香河| 北辰| 方城| 莱西| 科尔沁右翼中旗| 东莞| 八宿| 彰化| 平塘| 福鼎| 信丰| 类乌齐| 甘泉| 松溪| 德昌| 名山| 枣阳| 大安| 聊城| 韩城| 巩义| 都匀| 广安| 额尔古纳| 济南| 巴楚| 沙雅| 宝兴| 聂荣| 北海| 吉林| 皮山| 玉林| 安乡| 富川| 方正| 和林格尔| 盘山| 淮滨| 河南| 云林| 石棉| 甘洛| 襄樊| 奎屯| 屏山| 瓮安| 泽普| 四大赌场网站
|
|
51CTO旗下网站
|
|
移动端
创建专栏

换个角度看GAN:另一种损失函数

本文将在适合的相关背景下讨论上面的观点,并向大家阐述 GAN 这种「学得」(learned)损失函数的简洁优美之处。

作者:机器之心编译|2019-01-16 08:04

Jeremy Howardf 老师曾在生成对抗网络(GAN)课程中说过:「……本质上,GAN 就是另一种损失函数。」

本文将在适合的相关背景下讨论上面的观点,并向大家阐述 GAN 这种「学得」(learned)损失函数的简洁优美之处。

首先,我们先介绍相关背景知识:

从函数逼近的角度看神经网络

在数学中,我们可以把函数当做机器,往机器中输入一或多个数字,它会相应地生成一或多个数字。

将函数比作「机器」或「黑箱」。(图源:https://www.wikiwand.com/en/Function_%28mathematics%29)

如果我们能够用数学公式表示函数,这很好。可如果大家不能或尚未想明白如何将想要的函数写成一系列加减乘除(譬如分辨输入是猫图像还是狗图像的函数)又该如何呢?

如果无法用公式表达,那我们能否至少逼近函数呢?

神经网络来拯救我们了。万能逼近定理表明,一个具有充足隐藏单元且足够大的神经网络可以计算「任何函数」。

具备 4 个隐藏单元的简单神经网络逼近塔型函数。

(图源:http://neuralnetworksanddeeplearning.com.fairtek.net/chap4.html)

神经网络的显式损失函数

掌握神经网络后,我们就可以构建一个神经网络以逐步逼近上文所述的猫狗分类函数,而无需显式地表达该分类函数。

为了获得更好的函数逼近能力,神经网络首先需要知道其当前性能有多差。计算神经网络误差的方式被称为损失函数。

目前已经有很多损失函数,对于损失函数的选择依赖于具体任务。然而,所有损失函数具有一个共同特性──它必须能以精确的数学表达式表示损失函数。

  • L1 损失(绝对误差):用于回归任务
  • L2 损失(平方误差):与 L1 类似,但对于异常值更加敏感
  • 交叉熵误差:通常用于分类任务
  • Dice 损失 (IoU) :用于分割任务
  • KL 散度:用于衡量两种分布之间的差异
  • ……

关于神经网络逼近特性的好坏,损失函数承担着十分重要的作用。对于神经网络构建人员来说,针对具体任务去理解和选择恰当的损失函数是最重要的技能。

目前,设计更好的损失函数也是活跃度极高的研究领域。譬如,论文《Focal Loss for Dense Object Detection》介绍了一种名为「Focal loss」的新型损失函数,用于解决单阶段目标检测模型的不平衡性。

显式损失函数的局限

前文所述的损失函数在分类、回归及图像分割等任务中的表现相当不错,而针对输出具有多模态分布的情况,则效果堪忧。

以黑白图片着色任务为例。

L2 损失函数的思考过程。(图源:https://youtu.be/8881p8p3Guk?t=2971)

  • 输入是黑白色的鸟,真实图像是相同的蓝色的鸟。
  • 采用 L2 损失函数计算模型的输出颜色与真实图像的像素级差异。
  • 接下来,输入是与刚才实验相似的一只黑白色的鸟;真实图像是一只相同的红色的鸟。
  • L2 损失函数试图最小化模型的输出颜色与红色的差异。
  • 基于 L2 损失函数的反馈,模型已学习出一只相似的鸟,但模型应该输出一种与红色及蓝色都接近的颜色。模型会怎么做?
  • 模型会输出一种黄色的鸟,这是最小化红色与蓝色距离的最安全选择,即便模型在训练过程中从未观察到一只黄色的鸟。
  • 由于实际上没有黄色鸟,所以你知道模型不够逼真。

基于均方差预测的下一帧图像非常模糊

基于均方差预测的下一帧图像非常模糊。(图源:https://arxiv.org/pdf/1605.08104.pdf)

这种均化效应在许多实例中会导致非常糟糕的结果。以预测视频下一帧任务为例,下一帧的可能性非常多,你想要的是能输出「其中某一帧」的模型。但是,如果采用 L2 或 L1 训练模型,模型将平均所有可能结果,生成一张十分模糊的均化图像。

GAN 作为新的损失函数

首先,你并不知道复杂函数的精确数学表达式(比如函数的输入是一组数字,输出是一张狗狗的逼真图像),所以你使用神经网络逼近此函数。

神经网络需要损失函数告知它目前性能的好坏,但没有任何显式损失函数能够很好的完成此项工作。

嗯,要是有一种既无需显式数学表达式,又能够直接逼近神经网络损失函数的方法,该多好。譬如神经网络?

所以,如果我们用神经网络模型替代显式损失函数,将会怎样?恭喜,你发现了 GAN。

通过下面的 GAN 架构和 Alpha-GAN 架构,你能观察地更清晰。如图,白色框代表输入,粉色框和绿色框代表你想构建的网络,蓝色框代表损失函数。

GAN 架构

Alpha-GAN 架构

Alpha-GAN 架构

在原版 GAN 中仅有一种损失函数——判别器网络 D,其自身就是另一种神经网络。

而在 Alpha-GAN 中,模型有 3 种损失函数:输入数据的判别器 D、用于已编码潜变量的潜码判别器 C,以及传统像素级 L1 损失函数。其中,D 和 C 并不是显式损失函数,而只是其近似──神经网络。

梯度

如果将判别器(同样也是神经网络)作为损失函数来训练生成器网络(与 Alpha-GAN 的编码器),那么用什么损失函数来训练判别器呢?

判别器的任务是区分真实数据分布与生成数据分布。用监督方式训练判别器时,标签可随意使用,所以采用二元交叉熵等显式损失函数训练判别器就很简单。

但由于判别器是生成器的损失函数,这代表判别器的二元交叉熵损失函数的累积梯度同样会被用于更新生成器网络。

观察 GAN 中的梯度变化,就非常容易发现改变其轨迹的新思路。如果显式损失函数的梯度无法在两个神经网络间(判别器和生成器)回流,却可以在三个神经网络间回流,那么它能被应用在何处?如果梯度无法通过传统损失函数回流,却可在这些神经网络之间直接来回呢?从基本原理出发,我们很容易发现未被探索的路径以及未被解答的问题。

结论

通过传统损失函数与神经网络的集成,GAN 使将神经网络作为损失函数来训练另一神经网络成为可能。两个神经网络间的巧妙交互使得深度神经网络能够解决一些先前无法完成的任务(如生成逼真图像)。

将 GAN 本质上视为一种学得的损失函数,我希望这篇文章能够帮助大家理解 GAN 的简洁和力量。

原文链接:https://medium.com/vitalify-asia/gans-as-a-loss-function-72d994dde4fb

【本文是51CTO专栏机构“机器之心”的原创译文,微信公众号“机器之心( id: almosthuman2014)”】

戳这里,看该作者更多好文

【编辑推荐】

  1. 神经网络的奥秘之优化器的妙用
  2. 嵌入式中的人工神经网络
  3. 不使用先验知识与复杂训练策略,从头训练二值神经网络!
  4. 手把手 | 神经网络的菜鸟入门秘籍
  5. 这种有序神经元,像你熟知的循环神经网络吗?
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
交口县 二建预制厂内蒙古政协 三乡乡 满洲里 石狮市劳动监察大队
碧山村 李高乡 西旧帘子胡同 德胜门外 六硍镇
澳门在线博彩 威尼斯人线上注册 现金网排名 澳门威尼斯人注册网址 至尊网址
捕鱼游戏怎么玩才能赢 澳门星际官网 美高梅娱乐场网址 澳门四大网址 澳门威尼斯人官网
葡京娱乐官网 万能两点 澳门四大赌场官网 澳门威尼斯人赌城 捕鱼游戏
澳门威尼斯人官网 澳门真人网站游戏 庄闲游戏平台 网络赌场官网 威尼斯人游戏赌场
老虎机定位器 澳门大富豪网址 现金三公注册网址 牛牛游戏下载 现金骰宝 年度十大电子游戏 大小点游戏 玩什么游戏可以挣钱 电子游戏厅 方法奇葩赌博网 巴黎人网站 pt电子游戏哪个最会爆 澳门巴黎人游戏 澳门龙虎斗注册 澳门大富豪网站 押大小排行 真钱打牌 明升网站 十三水技巧 电子游戏下载 二十一点平台 现金网游戏开户平台 澳门百老汇游戏官网 皇博压大小 真钱捕鱼 跑马机游戏 赌博技巧 巴比伦赌场官网 现金三公 地下网址 捕鱼游戏技巧 英皇网站 手机玩游戏赚钱平台 现金网排行 pt电子游戏注册 赌博技巧 电脑玩游戏赚钱平台 海立方游戏 ag电子游戏排行 希尔顿官网 太阳网上压大小 现金赌钱游戏 现金棋牌游戏 真人网站网址 地下开户 九五至尊娱乐网址 澳门梭哈游戏官网 奇葩袖赌博网 鸿胜国际压大小 博狗扑克游戏 德州扑克游戏规则 庄闲代理 奔驰宝马老虎机下载 现金三公开户注册 免费试玩电子游戏 GT压大小 新濠天地注册 现金老虎机网站 纸牌赌博种类 乐天堂开户 澳门永利平台 电脑版捕鱼达人 玩电子游戏入门 斗牛游戏 bbin压大小 网上电子游戏网址 澳门网络下注平台 明升国际网址 明升娱乐 捕鱼达人电子游戏 mg电子游戏试玩 二十一点游戏赌场 澳门万利赌场官网 大小对比网站 现金电子游戏 电子游戏实用技术 老虎机破解器 澳门梭哈官网 澳门百老汇赌场注册 千炮捕鱼兑换现金 网上合法赌场 PT电子游戏 波克棋牌官方下载 天天棋牌 凤凰棋牌 美少女战士电子游戏 什么游戏可以赚人民币 银河国际娱乐 澳门番摊官网 澳门梭哈官网 胜博发电子游戏 电子游戏打鱼机 澳门现金网 大三巴网站 PT电子游戏 澳门银河国际娱乐