![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
『ゼロから作るディープラーニング』で躓いています…アドバイスお願いします。
こんにちは。
私はこれまでプログラミングとは無縁だったのですが、ディープラーニングを通じてPythonを扱えるようになったり人工知能を理解できるようになりたいと思い、書籍『ゼロから作るディープラーニング』を手に取った次第です。
現在、当書籍の第3章で躓いています。
ここあたりから、読んでいてもちゃんと納得することができず、なんとなくてしか読み進められなくなってきており、進み具合が著しく低下しております。
例えば、
def get_data():
(x_train, t_train), (x_test, t_test) = \
load_mnist(normalize=True, flatten=True)
return x_test, t_test
は、MNISTデータセットから画像のデータをx_test, t_testとして取得する関数なんだなというふうになんとなく理解はしているつもりなのですが、一行目の()の表記が何を意味しているのか、また=\とはどういうことなのか、またなぜこの関数でデータを取得できるのかということが理解しきれません。
またその直後の、
def init_network():
with open("sample_weight.pkl", 'rb') as f:
network = pickle.load(f)
return network
は、データをfとして開き、それをloadメソッドなるものを用いて変数に代入し、それを表記する関数なんだなとなんとなく理解しているのですが、なぜopen関数で上述の表記をすることで「pickleファイルのsample_weight.pklに保存された学習済みの重みパラメーターを読み込」むことになるのか、'rb'とはなにか、といったことが理解しきれません。
このように途中で「なぜなんだろう」と疑問に思ってしまうため読むスピードが遅くなってしまうことや、最終的にわからないためになんとなくやり過ごしてしまい理解が曖昧になってしまうということが現在の悩みです。
他の皆様はこのような書籍をどれくらい理解しつつ読むのでしょうか。
私がお書きした疑問点などは、言ってしまえば常識の範疇なのでしょうか。
私にはまだ当書籍は早かったのでしょうか。
そうだとしたら、どのような学習が良いと思われますか。
質問といたしまして、お書きしましたコードに関する具体的なアドバイスや、上述の疑問点を含めまして今後の学習についてのアドバイスなどを頂けましたら嬉しいです!!
どうぞよろしくお願いします!!
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
プログラミングの経験なしということですので、疑問はもっともかと思います。
学習としてはpythonを使っての基本的なプログラミング習得が必要と思われます。
疑問とされている事はどのプログラミング言語でもほぼ共通の知識ですので、
プログラミングを知っている人にとっては普通に受け入れられるものです。
他の方の書かれている書籍を当たられてもいいですし、
pythonは人気のある言語のひとつなのでネット上でも沢山あると思います。
ありがとうございます!!
やはり常識のようなものなのですね!!
もう少し基礎的なところから学習していこうと思います!!
ありがとうございました!
No.2
- 回答日時:
独学で、機械学習勉強しています。
No.1の方が言われている様に、レベルが高いですね。質問者の方がつまづいているところ、私もつまづきました。
結構、何冊も本を買って、サンプルプログラムを動かしながら、理解しているので、貴方の疑問は間違っていないと思います。
【私のおすすめの本】
① Pythonで動かして学ぶ! 機械学習の教科書、伊藤真著、翔泳社
② 機械学習と深層学習、小高知宏著、オーム社(小高さんの本はプログラムコメントが多く、分かり易い)
③ PythonによるAI・機械学習・深層学習アプリのつくり方、クジラ飛行机、ソシム(良い本ですけど、説明が少ないかも)
上記の本などで、ある程度、理解してからでないと、難しいと思います。
斎藤先生の本、すごくいい本なのですが、高等テクニックを使っていて、初級は難しい。です
【質問の疑問点箇所】
1点目
(x_train, t_train), (x_test, t_test) = \
load_mnist(normalize=True, flatten=True)
"\"は2行に渡って一行分を各ための記号なので、
(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True, flatten=True)
と同じ意味です。MNISTのデータは手書きの画像なので、1x28x28の画像サイズになります。
それを、取り込んでから、機械学習を行なうために、0~1の1行784(28x28)列に直す作業を、1行で全て、やっているので
分かりにくいです。
2点目
>「pickleファイルのsample_weight.pklに保存された学習済みの重みパラメーターを読み込」
自分のプログラムで、trainを使って、testで正解率を計算するなら、上記のpickleファイルは必要ありません。
プログラム実行で、trainで学習した重みを使って、testの性能をひょうかするため。
一度、train学習した重みをpikleに保存しておくと、test性能を検証する際、毎回、学習させる必要をなくすために、pickleをload
します。'rb'はその取込みの際のread, バイナリー読込み等の設定だったと思います('rb'の説明は不十分ですみません)
なので、いきなり、pikcleは結構、きついと思います。
順序としては、
パーセプトロン、バックプロパゲーション
↓
MNIST (0 ~9の手書き文字認識)
↓
この辺りで、kerasというものの理解
↓
Cifar10 (10種類の画像識別)
↓
Cifar100(100種類の画像識別)
長文になりますので、ここで、終わらせて頂きます。
回答になっていない様でしたら、補足下さい。機械学習は奥が深いので、最初は中々、難しいですよ。焦らずに、頑張って下さい。
ありがとうございます!!
独学で学習を始められた方からのアドバイスとあって、大変ためになります!!
やはりまだ私には早いのですね…!!ご紹介下さいました書籍、ぜひ書店で見させていただきます!!
また今後の学習についても方針を頂けまして、本当にありがとうございます!!
じっくり学習していきます!
個別の点につきましても、ありがとうございます。
やはりある程度は常識が必要なのですね!
それらの点につきましても、これから身につけていこうと思います。
ありがとうございました!
No.1
- 回答日時:
それは、初心者がいきなり読むにはレベルが高すぎる本ですね。
オライリー本は初心者向けの本もありますが、一般的には初心者には難しいものが多いです。
「初めてのTensorFlow 数式なしのディープラーニング」
「詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理」
の2冊をまず読みとおした後、それを読むのがいいみたいです。
ありがとうございます!!
私には少し難しかったのですね!!
本を挙げていただきましてありがとうございます!!
ぜひ書店で見てみます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- 国家公務員・地方公務員 公務員試験の数的処理で苦戦しています。 1 2023/01/30 08:56
- 宇宙科学・天文学・天気 AIが答えた方程式 1 2023/02/20 00:12
- 数学 どっちと思いますか 4 2022/10/10 11:16
- 宅地建物取引主任者(宅建) 未経験・知識ゼロからの宅建取引士勉強方法について 2 2022/06/10 14:38
- 大学受験 大学生に保護者なんかいるの? 4 2023/08/23 16:52
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- 大学受験 模試の直しについて質問いたします。かなり長くなります。 多くの人が模試の復習は自分の弱点を見つけ出す 2 2023/01/14 23:50
- 発達障害・ダウン症・自閉症 私は幼い頃から周りの子と変わったところがあり社会人になってからも仕事が長続きせず上手くいかないことだ 3 2022/08/26 13:24
- 発達障害・ダウン症・自閉症 中学の時にIQ82の境界知能と診断されました。 今の私も、やはり境界知能でしょうか? そしてこれは、 3 2023/02/19 00:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラム脳の作り方
-
就活に備えてゲームを作りたい!
-
C++ API 全般 APIの概要は
-
ソフトウェア作成への勉強方法
-
プログラミング初心者です。Pyt...
-
工業高校へ向けて
-
プログラムの在宅請負業務がで...
-
万年カレンダーのプログラムの...
-
Visual C++ .NET Standard Ver...
-
プログラミングを初めたい
-
プログラミングをする資格
-
ソフトウェアの作り方
-
プログラムを作れる様になるに...
-
一から独学で商用ホームページ作成
-
全て独学でシステムを学んだかた
-
PG SEの仕事内容について
-
基礎からC・C++を学習し、Direc...
-
自作でプレステ対応ゲームは作...
-
C言語を独学で習得するには。
-
C言語の勉強方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Linux Cプログラミングを学ぶた...
-
自作でプレステ対応ゲームは作...
-
プログラマーになったきっかけ...
-
独学でプログラミングの知識を...
-
情報工学科にはパソコン知識が...
-
中卒がプログラマーとして生き...
-
オリジナルの占いサイトを作る...
-
組込技術者を目指しています
-
H8マイコン 学習キットと参考...
-
VC++ と C++Builder
-
プログラミングでものを作れる...
-
何かプログラムを作りたいので...
-
プログラミング
-
397時間動画パソコン教室でスキ...
-
C言語でタイピングゲームを作り...
-
27歳からプログラミングを始め...
-
ゲームプログラミング本
-
医者がゲームプログラミングっ...
-
excelの関数がアルゴリズムはど...
-
Win32APIは覚えて損する?
おすすめ情報