Google软件工程师解读

2020-01-21 22:09 科技

Google软件工程师解读:深度学习的activation function哪家强?

(公众号:)按:本文作者夏飞,清华大学计算机软件学士,卡内基梅隆大学人工智能硕士。现为谷歌软件工程师。本文首发于知乎,获授权转载。

TLDR (or the take-away)

优先使用ReLU (Rectified Linear Unit) 函数作为神经元的activation function:

背景

深度学习的基本原理是基于人工神经络,信号从一个神经元进入,经过非线性的activation function,传入到下一层神经元;再经过该层神经元的activate,继续往下传递,如此循环往复,直到输出层。正是由于这些非线性函数的反复叠加,才使得神经络有足够的capacity来抓取复杂的pattern,在各个领域取得state-of-the-art的结果。显而易见,activation function在深度学习中举足轻重,也是很活跃的研究领域之一。目前来讲,选择怎样的activation function不在于它能否模拟真正的神经元,而在于能否便于优化整个深度神经络。

下面我们简单聊一下各类函数的特点以及为什么现在优先推荐ReLU函数。

Sigmoid函数

Sigmoid函数是深度学习领域开始时使用频率最高的activation function。它是便于求导的平滑函数,其导数为,这是优点。然而,Sigmoid有三大缺点:

容易出现gradient vanishing

函数输出并不是zero-centered

幂运算相对来讲比较耗时

Gradient Vanishing

优化神经络的方法是Back Propagation,即导数的后向传递:先计算输出层对应的loss,然后将loss以导数的形式不断向上一层络传递

Google软件工程师解读经期延长淋漓不尽中药
湖北牛皮癣专科医院
扬州十佳妇科医院