Skip to Content
ゼロから作るDeep Learning ❸ ―フレームワーク編
book

ゼロから作るDeep Learning ❸ ―フレームワーク編

by 斎藤 康毅
April 2020
Intermediate to advanced
552 pages
6h 13m
Japanese
O'Reilly Japan, Inc.
Content preview from ゼロから作るDeep Learning ❸ ―フレームワーク編

ステップ18メモリ使用量を減らすモード

前ステップでは、Pythonのメモリ管理について学びました。ここでは、DeZeroのメモリ使用を改善できる仕組みを2つ取り入れます。1つ目の改善点は、逆伝播で消費するメモリ使用量についてです。そこでは、不要な微分をすぐに消去する仕組みを用意します。そして2つ目の改善点は、「逆伝播が必要ない場合のモード」を用意することです。そのモードでは不要な計算は省くようにします。

18.1 不要な微分は保持しない

1つ目の改善点は、DeZeroの逆伝播についてです。現在、私たちのDeZeroでは、すべての変数が微分を保持します。たとえば、次の例を見てみましょう。

x0 = Variable(np.array(1.0))
x1 = Variable(np.array(1.0))
t = add(x0, x1)
y = add(x0, t)
y.backward()

print(y.grad, t.grad)
print(x0.grad, x1.grad)

実行結果

1.0 1.0
2.0 1.0

ここで、ユーザが用意した変数はx0x1です。その他の変数tyは計算によって生成されます。このときy.backward()によって微分を求めると、すべての変数は微分を保持します。しかし、多くの場合――特に機械学習では――、逆伝播によって求めたい微分は、末端の変数(x0x1)だけの場合がほとんどです。上の例では、ytなどの中間の変数については、その微分を必要とするケースは多くありません。そこで、それらの中間の変数については微分を消去するモードを追加します。そのために、現状のVariableクラスのbackwardメソッドに対して、次の網掛け部分のコードを追加します。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ゼロから作るDeep Learning ❻ ―LLM編

ゼロから作るDeep Learning ❻ ―LLM編

斎藤 康毅

Publisher Resources

ISBN: 9784873119069Publisher Website