May 2025
Intermediate to advanced
220 pages
3h 27m
Japanese
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
第2章で完全接続ニューラルネットワークを実験した後、あなたはおそらくいくつかのことに気づいただろう。レイヤーを増やしたり、パラメータ数を大幅に増やそうとすると、ほぼ間違いなくGPUのメモリが足りなくなる。加えて、ある程度まともな精度で学習できるようになるまでには時間がかかり、特にディープラーニングを取り巻く誇大広告を考慮すると、それすらもあまり褒められたものではなかった。何が起こっているのか?
完全接続ネットワークや(フィード・フォワード)ネットワークが普遍的な近似器として機能するのは事実だが、その理論では、本当に求めている関数の近似器となるように訓練するのに、どれくらいの時間がかかるかはわからない。しかし、特に画像については、もっとうまくやることができる。この章では、畳み込みニューラルネットワーク(CNN)について学び、CNNが現在最も精度の高い画像分類器のバックボーンをどのように形成しているかを学ぶ(途中、いくつかのCNNを詳しく見ていく)。魚対猫のアプリケーションのために新しい畳み込みベースのアーキテクチャを構築し、それが前の章でやっていたものより訓練が早く、正確であることを示す。始めよう!
今回は、まず最終的なモデルアーキテクチャを共有し、それからすべての新しい部分について説明するつもりだ。また、第2章で述べたように、作成したトレーニング方法はモデルとは独立しているので、まずはこのモデルをテストして、それから説明を聞きに来ても構わない!
classCNNNet(nn.Module):def__init__(self,num_classes=2):super(CNNNet,self).__init__()self.features=nn.Sequential(nn.Conv2d(3,64,kernel_size=11,stride=4,padding=2),nn.ReLU(),nn.MaxPool2d(kernel_size=3,stride=2),nn.Conv2d(64,192,kernel_size=5,padding=2),nn.ReLU(),nn.MaxPool2d(kernel_size=3,stride=2),nn.Conv2d(192,384,kernel_size=3,padding=1),nn.ReLU(),nn.Conv2d(384,256,kernel_size=3,padding=1),nn.ReLU(),nn.Conv2d(256,256,kernel_size=3,padding=1),nn.ReLU(),nn.MaxPool2d(kernel_size=3,stride=2),)self.avgpool=nn.AdaptiveAvgPool2d((6,6))self.classifier=nn.Sequential(nn.Dropout(),nn.Linear(256*6*6,4096),nn.ReLU(),nn.Dropout(),nn.Linear(4096,4096),nn.ReLU(),nn.Linear(4096,num_classes))def ...
Read now
Unlock full access