回答編集履歴
2
誤字、てにをはを修正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
・隠れ層の数、その中のニューロンの数は任意の値に設定できるが、基準が分からない。
|
2
2
|
|
3
3
|
柱や板やノコギリやカナヅチは部品とか道具です。それを使ってどんな建物を建てるかが本当の建築です。
|
4
|
-
それと同じようにtensorflowとかpytorchとかは道具や部品にすぎません。
|
4
|
+
それと同じようにtensorflowとかpytorchとかは道具や部品にすぎません。解きたい問題に対して、何層にするか、各層のノード数を幾つにするか、層間の結合をどうするのかというのがディープラーニングの本当の課題です。そのために、犬小屋の設計図を渡して実装してみましょうというのが入門書なのです。
|
5
5
|
|
6
6
|
・特徴マップの例を見る限り0以下の数値が入ることはないが、ReLU関数は必要なのか?
|
7
7
|
|
@@ -12,13 +12,13 @@
|
|
12
12
|
・CNNのフィルタの大きさの指定は理解したが、中身はどうなっているのか?
|
13
13
|
|
14
14
|
Convolutionはたたみ込み関数と言って、積分で定義されるものです。コンピュータの場合はそれを離散化したものです。。[Convolution(畳み込みとは)](https://slidesplayer.net/slide/17535606/103/images/11/Convolution%28%E7%95%B3%E3%81%BF%E8%BE%BC%E3%81%BF%29%E3%81%A8%E3%81%AF+%F0%9D%91%93%E2%88%97%F0%9D%91%94+%F0%9D%91%A5+%3D+%E2%88%92%E2%88%9E+%E2%88%9E+%F0%9D%91%93+%F0%9D%91%A1+%F0%9D%91%94+%F0%9D%91%A5%E2%88%92%F0%9D%91%A1+%F0%9D%91%91%F0%9D%91%A1+%F0%9D%91%93%E2%88%97%F0%9D%91%94+%F0%9D%91%9B+%3D+%F0%9D%91%98%3D%E2%88%92%E2%88%9E+%E2%88%9E+%F0%9D%91%93+%F0%9D%91%98+%F0%9D%91%94+%F0%9D%91%9B%E2%88%92%F0%9D%91%98.jpg)を見ると分かりますが、離散化すると内積計算となります。
|
15
|
-
CNNネットワークは近くにあるものの影響を受けやすくするような層間結合です。より近いものを強く見るか、遠くのものまで強く見るかのために範囲の指定をします。指定
|
15
|
+
CNNネットワークは近くにあるものの影響を受けやすくするような層間結合です。より近いものを強く見るか、遠くのものまで強く見るかのために範囲の指定をします。指定範囲を広げると学習速度が遅くなります。画像分類では大脳の視覚野の動きがconvolutionで模倣できるという仮説でやってみて、結果が良かったのでそれを使うことが多いようです。
|
16
16
|
|
17
17
|
・学習データの保存でjsonファイルとhdf5ファイルを用いるが、中身はどうなっているのか?
|
18
18
|
|
19
|
-
josonはテキストファイルですので、見てみてください。ファイルの定義は[JSONの形式を完全理解して読み書きできるようになるための記事](https://www.sejuku.net/blog/80617)あたりを読んでください。
|
19
|
+
josonはテキストファイルですので、エディタなどで中身を見てみてください。ファイルの定義は[JSONの形式を完全理解して読み書きできるようになるための記事](https://www.sejuku.net/blog/80617)あたりを読んでください。
|
20
20
|
hdf5はテキストファイルではないので、単純に中身を見るのは難しいですね。使っている人は大勢いますが、内部構造を知っている人は少ないです。私も知りません。知りたければ[Welcome to the HDF5 Support Page!](https://portal.hdfgroup.org/display/HDF5/)を読むのが確実ですが、ハードルが高いですね。
|
21
21
|
|
22
22
|
・PythonではコンパイルはいらないのにCNNのモデルにコンパイルが必要なのはなぜ?
|
23
23
|
|
24
|
-
pythonでは、コンパイル済みの汎用部品(ライブラリ)を組み込んであるので、適当なパラメータを指定すれば実行できます。パラメータの解析などのオーバーヘッドがあるのでコンパイラ言語で作った方が速くなる可能性もなくはありません。実際には、素人が作るとCPUやGPUの特長を生かした機械命令をアセンブラなどを使って作ったライブラリより速いものを作るのは難しい
|
24
|
+
pythonでは、コンパイル済みの汎用部品(ライブラリ)を組み込んであるので、適当なパラメータを指定すれば実行できます。パラメータの解析などのオーバーヘッドがあるのでコンパイラ言語で作った方が速くなる可能性もなくはありません。実際には、素人が作るとCPUやGPUの特長を生かした機械命令をアセンブラなどを使って作ったライブラリより速いものを作るのは難しいです。C/C++を使う場合も提供されたライブラリ(BLAS,Lapack)を使うことになり、同じライブラリを呼び出しているpythonでもそれほど遅くはなりません。
|
1
記述追加
answer
CHANGED
@@ -12,6 +12,7 @@
|
|
12
12
|
・CNNのフィルタの大きさの指定は理解したが、中身はどうなっているのか?
|
13
13
|
|
14
14
|
Convolutionはたたみ込み関数と言って、積分で定義されるものです。コンピュータの場合はそれを離散化したものです。。[Convolution(畳み込みとは)](https://slidesplayer.net/slide/17535606/103/images/11/Convolution%28%E7%95%B3%E3%81%BF%E8%BE%BC%E3%81%BF%29%E3%81%A8%E3%81%AF+%F0%9D%91%93%E2%88%97%F0%9D%91%94+%F0%9D%91%A5+%3D+%E2%88%92%E2%88%9E+%E2%88%9E+%F0%9D%91%93+%F0%9D%91%A1+%F0%9D%91%94+%F0%9D%91%A5%E2%88%92%F0%9D%91%A1+%F0%9D%91%91%F0%9D%91%A1+%F0%9D%91%93%E2%88%97%F0%9D%91%94+%F0%9D%91%9B+%3D+%F0%9D%91%98%3D%E2%88%92%E2%88%9E+%E2%88%9E+%F0%9D%91%93+%F0%9D%91%98+%F0%9D%91%94+%F0%9D%91%9B%E2%88%92%F0%9D%91%98.jpg)を見ると分かりますが、離散化すると内積計算となります。
|
15
|
+
CNNネットワークは近くにあるものの影響を受けやすくするような層間結合です。より近いものを強く見るか、遠くのものまで強く見るかのために範囲の指定をします。指定羽仁を広げると学習速度が遅くなります。画像分類では大脳の視覚野の動きがconvolutionで模倣できるという仮説でやってみて、結果が良かったのでそれを使うことが多いようです。
|
15
16
|
|
16
17
|
・学習データの保存でjsonファイルとhdf5ファイルを用いるが、中身はどうなっているのか?
|
17
18
|
|