ゼロから作るdeeplearning1③ 第1回
Summary
TLDRこの議事録は、プログラミング言語Pythonの学習会の様子を記録したものです。発表者が丁寧にPythonの基礎的な文法や外部ライブラリの使い方を説明し、サンプルコードを紹介しながらディープラーニングの基礎にも言及しています。参加者からの質問に対する解説や、次週の予定の確認など、わかりやすく実践的な内容が盛り込まれた貴重な学習機会となっています。初心者にもアドバンスな内容にもバランス良く触れており、学習意欲を掻き立てる具体的な事例が詰まった有益な議事録です。
Takeaways
- 👨🏫 これは Python 入門の勉強会の様子を記したスクリプトである。
- 🐍 Python の基本的な文法と構文について説明している。変数、データ型、条件分岐、ループ、関数、クラスなどの概念を取り上げている。
- 📊 NumPy ライブラリを使った行列や配列の操作方法を紹介している。ベクトル演算やグラフ描画の例も示されている。
- 🤖 ニューラルネットワークの基礎である、パーセプトロンのアルゴリズムについて解説している。AND、OR、XOR ゲートの実装方法を説明している。
- 💬 参加者からの質問に答えながら、分かりにくい部分を丁寧に説明するよう心がけている。
- 🗺️ スクリプトを通して、Python の基礎から NumPy、そしてディープラーニングの基礎へと順を追って学習していく流れが描かれている。
- 📝 発表者は Google Colab を使いながらコードの実演を交えて説明しており、視覚的な理解を促している。
- ✋ 参加者からの積極的な質問を促し、インタラクティブな雰囲気作りを心がけている。
- 🔃 次回の発表者に向けて、今回の発表を参考にするよう促している。
- 📢 勉強会の最後に、今後の予定や次回の発表内容について言及している。
Q & A
このスクリプトの内容は何に関するものですか?
-このスクリプトは、Python入門のオンライン勉強会の内容についてです。発表者が1章と2章の内容を説明し、Pythonの基本的な文法やNumPy、Matplotlibなどの外部ライブラリの使い方、パーセプトロンのアルゴリズムについて解説しています。
パーセプトロンとは具体的に何を指していますか?
-パーセプトロンは、複数の入力信号を受け取り、それぞれに重みをかけた和が閾値を超えるかどうかで出力を決める単純なニューラルネットワークのモデルです。発表ではパーセプトロンを使ってAND、OR、XORなどの論理演算を実現する方法が説明されています。
NumPyやMatplotlibといった外部ライブラリはどのような用途で使われますか?
-NumPyは行列やベクトル計算を簡単に扱えるライブラリで、発表ではNumPyを使って行列の作成や演算、ブロードキャスト機能の説明がありました。一方、Matplotlibはグラフや画像の可視化ライブラリで、発表では簡単な関数のグラフ化や画像の表示方法が紹介されています。
発表者はコードの実行にどのような環境を使っていましたか?
-発表者はGoogleColabを使ってコードの実行を行っていました。ColabはGoogleが提供するクラウド型のJupyter Notebook環境で、自身のPCの性能に依存せずにPythonのコードを実行できます。
発表の最後で質疑応答がありましたが、どのような質問が出されていましたか?
-質疑応答では、パーセプトロンの説明でブロードキャストについて詳しく説明してほしいという質問や、Zeebraというグラフ可視化ツールの使い方、Google ColabとJupyter Notebookのどちらが良いかなどの質問が出されていました。
この勉強会の目的は何でしたか?
-この勉強会の目的は、参加者にPythonの基礎と外部ライブラリの使い方、さらにはディープラーニングの基礎となるパーセプトロンのアルゴリズムを学んでもらうことでした。発表を通して理解を深め、次回以降のディープラーニングの学習につなげることが目指されていました。
来週の勉強会では何が予定されていますか?
-来週の勉強会では3章のニューラルネットワークについて高柳さんに発表してもらう予定です。ニューラルネットワークはディープラーニングの基礎となる重要な概念なので、今回の勉強会の理解を踏まえた上で学習が進められる予定です。
この勉強会の内容はどのように公開される予定でしょうか?
-発表者は、この勉強会の内容をSlackコミュニティである「アカデミックス」と「シグネイト」の両方で公開したいと述べていました。ただし、参加者に個別の確認を行い、顔が映っている場合などは公開しないとのことでした。
パーセプトロンを使って実現できる論理演算にはどのようなものがありますか?
-発表では、パーセプトロンを使ってAND、OR、NOTといった基本的な論理演算を実現する方法が説明されました。さらに、これらを組み合わせることでXORなどの複雑な論理演算も実現できることが示されていました。
発表の中で、直線で分離できない問題についての質問がありましたが、その回答は適切でしたか?
-発表者の回答は適切でした。非線形な問題は1本の直線で分離できませんが、発表者は十分な数の直線を引けば曲線で分離できる領域を再現できると説明しました。つまり、理論的には直線の組み合わせで非線形な問題も近似できるということです。
Outlines
🗣️ 勉強会の進め方説明
この段落では、今週の勉強会の進め方について説明しています。まず、各自が「Good and New」と呼ばれる近況報告を1分程度行い、その後、発表者がスライドを使って本題の内容を説明します。説明の区切りごとに質問タイムを設け、最後に全員から質問を1つずつ受け付ける予定です。発表者は沼田さんです。
🐍 Pythonの基礎
この段落では、Pythonの基礎的な文法や機能について説明しています。四則演算、変数、リスト、辞書、条件分岐、ループ、関数、クラスなどの基本的なプログラミングの概念が紹介されています。また、外部ライブラリのNumPyを使った行列計算や可視化の例も示されています。
📐 NumPyによる行列計算と可視化
この段落では、NumPyライブラリを使った行列計算や可視化の方法について詳しく説明しています。配列の作成、インデックスアクセス、行列の形状確認、ベクトル演算、ブロードキャスティング、グラフの描画など、NumPyの様々な機能が紹介されています。
🖼️ 画像処理とMatplotlibライブラリ
この段落では、Matplotlib ライブラリを使った画像処理と可視化について触れています。画像のアップロード方法、Google Colab 上での画像表示、グラフの描画関数の違いなどが説明されています。また、発表者が用意したスライドが少なめだったため、コード例の共有がメインとなっています。
⚡ パーセプトロンアルゴリズム
この段落では、パーセプトロンアルゴリズムについて説明しています。パーセプトロンの構造、入力と出力の関係、重みとバイアスの役割、論理演算の実装方法などが詳しく解説されています。また、NumPyを使ったパーセプトロンの実装例も示されています。
⚡ 論理演算の実装とXORゲート
この段落は、前の段落の続きとして、パーセプトロンによる論理演算の実装方法を説明しています。AND、OR、NOTゲートの実装例が示され、さらにXORゲートの実装が重点的に取り上げられています。XORゲートの実現方法として、2つのパーセプトロンを組み合わせる方法が詳しく解説されています。
✨ パーセプトロンの発展形
この段落では、パーセプトロンの発展形について触れられています。単層のパーセプトロンでは線形分離可能な問題しか解けないことが指摘され、より複雑な問題を解くために多層のニューラルネットワークが必要であることが示唆されています。次回の発表ではニューラルネットワークについて学ぶことが予告されています。
💬 質疑応答
この段落では、発表後の質疑応答セッションが記録されています。参加者から様々な質問が寄せられ、発表者がわかりやすく丁寧に回答しています。ブロードキャスティングの仕組み、グラフ描画ツールの使い方、Google ColabとJupyter Notebookの違い、非線形問題の扱い方など、幅広いトピックが取り上げられています。
🎦 アーカイブ公開と次回案内
この最終段落では、今回の勉強会の動画アーカイブをSlackで公開することが提案されています。また、次回の発表者と内容が紹介されており、ニューラルネットワークについて学ぶことが予告されています。参加者からの質問や確認事項を受け付けた後、勉強会が終了しています。
Mindmap
Keywords
💡Python
💡パーセプトロン
💡ライブラリ
💡条件分岐
💡ループ
💡関数
💡クラス
💡可視化
💡ディープラーニング
💡Google Colab
Highlights
Pythonは入力を与えてしまえば、出力がもらえるっていう割と何でしょうね、始めやすい言語で、ディープラーニングでも向いているという、ことなんですけど。
リストというものがあって、これ大括弧で括ってカンマで区切ったもの、を理想って言うんですが、これそのまま出力することもできます。
辞書っていうのがありまして、辞書では、キーと値っていうのが、格納されているんですが、キーを先ほどの配列っていうsoyageの部分をキーにすることでそのキーに対応する値を出力することができます。
if文っていう、条件分岐の、ものがあるんですが。
for文というループの、ループ処理をするものがあって、oiinの後にリストを入れると先ほどあげたリスト入れると、この中身が1個ずつ愛に入っていきます。
Def名前、引数目って感じなんですけど引数っていうのは受け取る値なんですが先に使い方を見るとビバリュエと引数この値、これを、この170がここにこの変数に落とされて、この変数を先ほどのように比較して出力される。
セイハローというクラスを定義するんですが、このクラスの中でも関数を整理することができて、この中ではHelloと出力する関数を作りました。
インポートの名前ってどうなる場合がインポートされますナンパいってのは行列とかベクトルとかをすごい便利に扱える外部ライブラリーと言ってPythonの外部ライブラリっていうのはすごい人たちが作った便利なものでみんなで共有しようみたいな感じで使えるので、せっかくなので使おうという感じでこのナンパってライブラリを呼んだんですが。
NPドットアレンジという関数では引数、010っていると、0から、0以上12万の整数の値を全部並べてくれますリスト化してくれます最後に2って入れるといいことばしで、佐賀にのものが出せます。
ベクトルを作るベクトリア行列を作るあれという関数があるんですが、これが1次元行列ですねベクトルですね。
この大きさっていうのはですねドットシェイプ名前ドットシェイプ、0または1もっと大きいのもあるんですが、増えると大きさが見れます。
この場合のいいところはですね足し算を簡単にできるということで本当は普通だったらこういう足し算でできないんですよ、行列だとナンパイだと行列卒業率っていう式を書くだけで中身が全部足されます。
マットプロットリブっていう、グラフだったり画像だったりを、いじれる出力できるライブラリがあるので、それを入れてみて、先ほどのNPだったアレンジで、0から9の値を出して、プロットすると、こっちがx軸でこっちがy軸でって感じでグラフが出力できます。
パーセプトなんて何かって言うと、複数の信号ですね入力として受け取って、この中で言うとX1とX2の入力として受け取ってWHとダブル2ですねwesw2っていう重みをね重みを同じ親父がですね動詞かけてあげてその和を取ったものを、まあある一つの変数として見たときに、値1個出ます。
andordは実現できたんですが、xorっていうお店があるんですけど、X1はですねあ間違えた、そうですね、どちらかが1でどちらかが0じゃないと1にならないんですね、そういう回路をX1点ですが、これどうやって実現するこの領域ですね。
Transcripts
流れ流れというものを今チャットに送り
ます
進め方ですね
はいチャットに送りましたまず最初に本当
はですねまあ今週のgoodandNew
ってものを1人30秒程度やろうと思った
んですけどまあ人数が多いとことなので
発表する人だけ
軽く一言1分以内に
喋ってもらいたいなって思いますで終わっ
た後に今週の勉強会の
代表者の方がスライドを用いて発表して
いただくとその発表していく中で
理解しながら進めていきたいってことなの
でまあ区切りのいいところでちょっと止め
て
質問タイムというのを設けるようにして
くださいお願いします
でスライドはですね発表する前に一応皆
さんにも手元で見れるようにしたいので
チャットに投稿するようにお願いしますで
最後に一応質問タイムも設けるのでまあ
一人一つは
質問するようにお願いします
1週間も間があるのでねまあそのお忘れ
ないように1個1個各賞はマスターして
いきたいなって思うのでこの
貴重な1時間夜遅いですけどこの機会を
存分に生かしてしっかり学んでいき
ましょう
てことで今週の発表者はショーダートモヤ
くんですでは正田君
にバトンタッチしたいなと思いますじゃあ
今週のグッドアンドニューってことで今週
何でもいいんで
何でもいいんでなんかあったことを
一言二言でお願いします
夏休みに
フェスの申し込みをしたんですけど音楽
ライブの当たりましてそれだけでも
嬉しかったんですけどちょっと一次選考
って言ってアーティストが全員出てない
状態で申し込んだんで倍率が
低かったんですよ
で当ててから発表されたんですけどそれが
まさかの一番好きなアーティストで
[音楽]
嬉しかったですどんなアーティスト好きな
んですか
当てたのはバックナンバーですね
バックナンバー皆さんはバックナンバー
好きな人多いと思う一番好きな曲なんです
か難しいな
スーパーになったらですか
僕はちょっとわかんないですごめんなさい
です
ありがとうございます
ということでじゃあ次1章と2章ですね
発表をお願いします
スライドそういうしたいんですけど
スライドちょっと今回書くことがあまり
なくて
スライドは少なめなんですけどちょっと
そのコードの部分が多いので
コードも一緒に共有したいと思います
これって開けますかね
見えてますありがとうございます開けて
ない人いますか大丈夫ですか
これつってますかあ間違えた
見えてますありがとうございます
これ今Googleコラボの画面映って
ますか
Googleコラムのこっちか
これ映ってますそうそう
はいじゃあお願いします
はいでは第1回勉強会発表させていただき
ますと申します僕は1社と2章を発表して
いきます
まだ第1章はちょっとコードがプログラム
コードがほとんどだったのでGoogle
コラボで説明していきたいと思います
Pythonの入門ってことだったんです
けどPythonがどんなプログラミング
言語かっていうのとPythonで使える
外部ライフライブラリという
便利なものの説明をしていました
Pythonはですねこうやって1+1
っていう入力をすれば日って出てくるよう
な
これ結構プログラミングの中では
プログラミング言語の中ではなかなか
珍しいものでそれだったらもっと
複雑な作業してしないと入力と出力って
いう対応がそれは難しいんですけど
Pythonはもう入力を与えてしまえば
出力がもらえるっていう割と何でしょうね
始めやすい言語で
ディープラーニングでも向いているという
ことなんですけどこれ1+1ってそのまま
打って出てくるのはGoogleコラボと
かそういう
そういうのの仕様だしってPythonの
仕様じゃないらしいのでここからプリン
トっていうのを使っていくんですが
これプリントっての関数と言いましてそれ
後で説明するんですけどこのプリントの
括弧の中に
式とか値ってのを入れると出力されます
その答えがPythonでは引き算
掛け算割り算の計算などできるんですが
注意していくのは
掛け算はアスタリスク割り算はスラッシュ
累乗はアサリスクに行こうみたいな感じで
値には型というものがあるんですが11
だったらイントっていう整数の方7÷5
だったら11.0だったら小数の方でこう
いったダブルコーテーションとかシングル
をコーテーションで作られているものは
文字列型といってこれ何が大事かっていう
と
文字列型と整数型は足し算できないですね
でも文字列型同士だったら足し算ができる
といった感じになっています
で比較というものがありまして
こういう大なり小なりの
式はですね
ブール型というもので帰ってきます
何言ってるかというと1は2より小さいの
で1章なり2っていうのを入力にすると
出力はする話とでに3より大きいというの
は間違っているのでそれを入力にすると
出力はフォースという風に入ってきます
変数というものがありまして
X=11って書くと11という値が
Xという変数に格納されて
Xをそのそれ以降は値のように扱います
プリントエクストすると11って出力さ
れるようにこれ結構便利なので使っていき
ます
編成同士の足し算を出力することもでき
ますし変数の
演算したものを変数に格納することもでき
ます
リストというものがあって
これ大括弧で括ってカンマで区切ったもの
を理想って言うんですが
これそのまま出力することもできます
プリントで
中身だけ取り出したい時は
何番目かっていうのを見ていくんですが
Pythonでは戦闘が0番目で
012ってなってますなので
リストの0番目を出したい時はこういう風
に書いてAppleが出てきます
この辺でちょっと山岸に聞きたいんです
けど
この辺で詳しく説明した方がいいですかね
そうですねまあもうちょっと
初心者っていうかまだ未経験の方もいるか
もしれないので
もうちょっと丁寧に
ゆっくりと説明したら
嬉しいです
あと20分だけなのでワンちゃんその
皆さん
そのPythonの知識がどんなもんかを
ちょっとお聞きしてみるのはそうですね
今のところの説明でついてこれないって
いう
方いらっしゃいますてかもしくは
Python本当にやったことない方
村上さんどうぞ
アブラハシさんすいませんどうぞ
お話よくわかるんですけど一つだけ質問さ
せていただいてよろしいですかはいお願い
します
テキストを囲む時にダブルコーテーション
とシングルコーテーションがあるとその
使い分け
規則
それはどうなってるんですかそこがわから
ないものでPythonでは一切違いが
なくて
そこ間違えても大丈夫という形になってい
ますまた近いです全く気にせずに
ダム工程表はシングルクォーテーション
自由に使って全く問題ないとはい大丈夫
ですはいありがとうございますありがとう
ございます
この時点でちょっとまだわからないなって
いう方
遠慮せずどんどん聞いちゃって大丈夫です
大丈夫ですか他の方
なさそうだったらちょっとこの辺ペース
上げていきたいんですけどそうですね
じゃあはい行きましょうはい続けていき
ます
辞書っていうのがありまして
辞書では
キーと値っていうのが
格納されているんですが
キーを先ほどの配列っていうsoyage
の部分をキーにすることでそのキーに対応
する値を出力することができますで架空の
キーを設定することで
追加することもできますこんな感じで
次ですね
if文っていう
条件分岐の
ものがあるんですがまず値段130って
設定しといてもし150よりもそれが
小さかったら安いと出力するという文章が
こんな感じになります
ですねもしそれ
以外の時って言いたい時はエルスという
ものを使いますもっと条件分岐したいとき
はLEDというものを使います
次に構文というループの
ループ処理をするものがあって
oiinの後にリストを入れると先ほど
あげたリスト入れると
この中身が1個ずつ愛に入っていきますな
ので
x=x+と
Xに1個ずつ足していったら
順番に136と出力される感じです
これが先ほど言ったプリント文の
プリントっていう関数があったんですが
これが関数の作り方で
Def名前
引数目って感じなんですけど引数っていう
のは受け取る値なんですが先に使い方を
見るとビバリュエと引数この値
これを
この170がここにこの変数に落とされて
この変数を先ほどのように比較して出力さ
れるという形になります
次クラスですねセイハローというクラスを
定義するんですが
このクラスの中でも関数を整理することが
できて
この中ではHelloと出力する関数を
作りましたそれをですねオブジェクトと
言ってまあある物体がこうやって全ハロー
というクラスの物体を作るというこの文章
なんですが作られた物体はですねこの
メソッドという関数を持っているので
ドット整理と出力することができますこの
関数を実行することができます
またインスタンスというものがあるんです
インストラクターというものがあるんです
が
デフの後に
undbandbyderbar
ってやると
クラスを
定義したクラスをオブジェクトにこう入れ
た時ですねインスタンスカットですがこの
物体を作った時に呼び出される関数となり
ます
セリフというのは一旦無視していいと思い
ます
そこからラムパイの説明をしていきます
まずインポートの名前ってどうなる場合が
インポートされますナンパいってのは行列
とかベクトルとかをすごい便利に扱える
外部ライブラリーと言ってPythonの
外部ライブラリっていうのはすごい人たち
が作った
便利なものでみんなで共有しようみたいな
感じで使えるので
せっかくなので使おうという感じでこの
ナンパってライブラリを呼んだんですが
インポートしたんですがそれそのナンパイ
というライブラリに関するというものが
入ってまして先ほどみたいにその感想を
呼びたい時はダウンパイドットコムその
名前にドットコムみたいな関数名をつける
と呼べます
で
asNPって後につけると何倍って町5
文字長いので2文字に変えることができて
これ以降にNPで呼び出すことができます
NPドットアレンジという関数では引数
010っていると
0から
0以上12万の整数の値を全部
並べてくれますリスト化してくれます最後
に2って入れるといいことばしで
佐賀にのものが出せます
ベクトルを作るベクトリア行列を作るあれ
という関数があるんですが
これが1次元行列ですねベクトルですね
で二次元行列を作りたいときは
リストの中にリストを入れていくという
感じで
このように普通に行列の形になってるん
ですが
一つだけ値を出したい時は例えば3の2
ってやると
順番でと0から始まっているので
0123大きい3番目の
012で最後の11が出力されます
この大きさっていうのはですねドット
シェイプ名前ドットシェイプ
0または1もっと大きいのもあるんですが
増えると
大きさが見れます
0ってやるとこの大きいくくりがいくつ
あるか
で1ってやるとこの大きいくくりの中に
X数字が入っているかということでこの
行列のサイズを見ることができます
この場合のいいところはですね足し算を
簡単にできるということで本当は普通だっ
たらこういう足し算でできないんですよ
行列だとナンパイだと行列卒業率っていう
式を書くだけで中身が全部足されますで
これもすごくて行列かける
値の数字ですね
センスかけてあげるとこのままYっていう
行列に単純に2倍されると
そしてですねこれがまたすごくてブロード
キャストっていう仕組みなんですが
行列とベクトルですねサイズ違うんです
けど自動的にそのサイズを見極めてくれて
掛け算自動でしてくれるみたいです
でマットプロットリブっていう
グラフだったり画像だったりを
いじれる出力できるライブラリがあるので
それを入れてみて
先ほどのNPだったアレンジで
0から9の値を出して
前はですね
今のブロードキャスト
ブロードキャストじゃないや普通に単純に
掛け算足し算することでこれを2x+3
っていうy=2x+3っていう
グラフ出したいんですが
XXから単純に2倍して参加されたものが
Yになってます
でこれプロットすると
こっちがx
軸でこっちがy軸でって感じでグラフが
出力できます
画像も出力できるんですが
これはですねライブラリの中にフォルダー
がありましてちょっと難しいこれは言わ
なくていいですか
この辺は結構関数とか色々
複雑なんですが使う時に調べればいいと
思います
覚える必要ないと思います
では
ちょっと
駆け足になっちゃったんですが一生終わり
まして
ありがとうございます一生終わった
タイミングなので今ちょっと駆け足だった
と思うんですけど
わからないところとか
ここをもうちょっと詳しく知りたいって
いう人いたら挙手をお願いします
大丈夫そうですか
じゃあ僕からあじゃあ藤野さんお願いし
ます
違いますねと思って格闘しただけです
じゃあ僕からちょっとひとつ質問なんです
けど
さっきの
説明でブロードキャストてあったと思うん
ですけど
それをもうちょっとなんだろうまだ理解
できないので
詳しく説明して欲しいなって思います
了解です
えっとですね
この仕組みは正直わからないですでも何が
起きているかっていう話だけさせてもらう
と
まずちょっと待ってくださいね
これ上のこれがA出力されてるんですけど
A1023ってこう
四角形になってるじゃないですか
はいで行列足す行列とかだったら
それぞれの同じ位置のものが足されてた
じゃないですか
サイズ違うのでBどこに出したらいい
かって普通
わかんないというかそれを勝手にこれと
これ足したらいいみたいなの考えてくれて
これで言ったら
この21っていうのを100にかけてくれ
て20になって
2321がかかって43になるっていう
サイズが違う行列の
行列を先ほどのX+Yみたいな風に簡単に
扱えるのがすごいところです
あーなるほどなるほどわかりました
ありがとうございますありがとうござい
ます
他大丈夫そうですか
ちょっといいですか
そんな大事じゃないとこだと思うんですよ
[音楽]
画像
の取り込みとかで最後のところでその
画像ってこのGoogleコラボだったら
どこに入れとけば表示されるようになるん
ですかね簡単にやるとしたらここでここに
フォルダーマークあるんですけどここで
アップロードこのボタンでここで
ちょっとだけ規模を大きくしたい時はここ
でドライブをマウントってするんですけど
そしたらGoogleドライブ同じ
アカウントでフォルダ作ってもらったら
そのGoogleドライブのパスをこの
画像のURLのところに
理解できましたありがとうございますはい
このイムショート
IMショートショーの
違いってなんだかわかりますか
このプロット関数プロモーション
モジュールプロットモジュールの
召喚するとわかりません
わかんないですか
使うときに考えますこういうのはこういう
のは1回調べて
実際にこのIM召喚数は
画像を表示する
関数で今笑ってる男の子が表示されている
と思うんですけど
この笑ってる男の子が表示されてこの
召喚数は
グラフを表示するだから
x軸y軸みたいな
0120300みたいななるほどですね下
を消すと
何だろう多分
ジュピターの音だけだと変わらない
もしかしたらそういうことです
ね
環境によっては両方必要っていう
関数は
グラフを表示する感じで
IM多分イメージの
IM取ってると思うんですけど外務
省関数は
画像を表示する関数っていう感じです
ありがとうございますはい
じゃあ次行きましょうパーフェクト
論の話に入っていきます
パーフェクトなんていうのはですね
アルゴリズムの一つなんですけど
アルゴリズムなんですかね何か問題を
数学的な問題を解決するときに
方針が出るんですけどちょっとごめん
なさいこの説明うまくできません
アルゴリズムよく聞いたことがあると思い
ますこれはアルゴリズムの一つですで
パーセプトなんて何かって言うと
複数の信号ですね入力として受け取って
この中で言うとX1とX2の入力として
受け取ってWHとダブル2ですねwesw
2っていう
重みをね重みを同じ親父がですね動詞かけ
てあげてその和を取ったものを
まあある一つの変数として見たときに
値1個出ますよねその値が
諭吉のシータって今名付けるんですけど
シータの閾値を超えるかどうかで発火する
かどうかが決まるという発火って何かって
言うとまず入力は1と0から入力されるん
ですけど電気信号なので
悪化したら悪化したら出力が1発火し
なかったら出力が0ってなること
そういうアルゴリズムをパーセプトラと
言います
これわかりやすいでもあるんですけど
andっていうまた別の言い方をすると
かつ何々勝つ何々どちらともって意味なん
ですけど
X1も
Xにも1の時
X1&Xには1だとで他の
どちらかが0だったら
0になるのand
って言います
ですねこれまたはって意味なんですけど
1どちらかが1を持ってれば1になるのが
多いです
で何度っていうのは安堵の反対not
andの略なんですけど
安堵の反対意見だけ
言っておきます
これ今
これですかねコメント
コメントなんか
ありました
今
URL貼ったんですけどこれが続きですい
ませんもう一個次のもあるので先に貼って
おきます
見えてない人
みんないないですかね大丈夫ですかね
えっとこれさっきの入力ですねx1x2
ってなってきたに設定したんですけど安藤
の時はですね
重みを0.5にしてそれぞれシーターを
0.7にするとうまくいくんですねこれは
何でかっての後で説明しますで
xとyの数字が同じものをそれぞれかけた
ものを足し合わせたものを出力してみると
0.5になるんですけどそれが1を超えて
いるかでの条件で見てこれは超えていない
ので
0が出力されますつまりどっちも1じゃ
ないですよねだから出力が0になります
これなんで
0.50.50.7だとうまくいくかって
いうと
このですね
この条件式見てみると
この
式が
0.7より小さいという式になってますよ
ねそれは
wxxと
X1とX2の2変数のですね
なんかy=2xとかいう曲線の式あった
じゃないですかあれって変数2個なんです
けど変数2個の式はこうやって直線になる
んですねで
イコールがないので
これがもしイコールだったらこの直線を
表すんですけど
=じゃないのでその直線より上って言い
たいんですね
で
0.5x+0.5Yが0.7より大きいっ
ていうこの領域はですね
うまいこと
この
x1x2が0の時
X1が0x2が1の時みたいな感じでこれ
この3つは
0になってx1x2両方が1の時は1にな
るっていう
ちょうどいい位置なんですねだからこれ
0.7じゃなくても良くて0.5じゃなく
ても良くて少しずらしてもこの1だ11
だけをこの領域に入れることができれば何
でもよくてそれがうまくいってるあたりが
たまたまこれだったということです
で別のを見てみると
先に関数関数にしますね今のものですね
関数にするんですけど入力をx1x2にし
て同じことをしますすると
and00って言っただけで
0が出てくるようになって&一時ってやる
と1が出てくるこれがハンドゲートの関数
が完成しました
でここからナムパイで
簡単にしていくんですけど
入力をですね分配の配列にしてあすいませ
ん
次のやつです
いいですね重みも
何杯の配列にしてでこれでバイアスって
いうのも出てくるんですけどこれ何かって
言うとこの右側の
0.7だったと思うんですけどこれ一周し
たよねシートっていうそれを左側に移して
あげて
こうやって式変形してあげることで右側を
0にすることができるので
どんな状況でも
ゼロと比較することになって
綺麗になるということです
でですねなので右か左に移動したので
マイナスがつきます先ほどプラスだったの
で
重み付けもですね何倍なのでめちゃめちゃ
簡単になります
X×Yってやるだけでいいのでいくらxの
値が増えてもいくつのXのサイズが増えて
もこのひとしきでできますで
燃費ドットSAMっていう中身の和を計算
するもので先ほどのですねXとYをかけて
足すっていう計算がこの2行でできるよう
になりました
でそのバイアスをつけてあげてですね
0と比較してあげることで
もっと綺麗に書けましたよということです
で何度なんですが何度は
Wの値とバイアスの値を安堵と逆さまにし
てあげれば実現できます何でかって言うと
もう見れば
一目瞭然で
これまず
大なり小なりをひっくり返しただけの式
ですそれのまず
0.7を左に移行してから
これはですね
全体にマイナスをかけると以上と以下は
ひっくり返るんですがそうすると
全部
すいませんインプットと
WとBバイアス重みとバイアスを
ひっくり返したものになっていることが
わかります
でですね
うまいこと行く
値があってこれから1.50.50.2
だったということです
次にですね今まで今はやってたのは一層の
パーフェクトなんだったんですね
まあこんな感じで入力があって出力がある
みたいな感じだったんですねそれで
andordは実現できたんですが
xorっていう
お店であるんですけど
X1はですねあ間違えた
そうですね
どちらかが1でどちらかが0じゃないと1
にならないんですね
そういう回路をX1点ですが
これどうやって実現するこの
領域ですね
00と11は
0を出力したいので
この領域ってこの線以上とかこの線以下
っていうものだけじゃ実質的にできない
ことがわかると思いますじゃあどうやる
かって言うと
先ほどミスター
を貼ってありますねorより大きくて
より大きくて何度より小さいこの領域が
ぴったりxorの領域になっていると思い
ますなのではandって言いたいんですよ
はかつ何度
したらもうやることは簡単で何度との関数
作りましたよねまず入力をx1x2って
受け取って何度とコアに
x1x2を入れてその出力をshsdとし
て持っておきますでその出力をandに
入れてあげることで結果的に
or&みたいなものができるとでそれが
xor
ですはい以上で終わります
ありがとうございました
この
グラフ
めっちゃわかりやすいですねありがとう
ございます僕
わかんない知らなかったんで使ってみよう
か
調べたら出てきます
確かにこの何度と
は
これうまくどう説明するのかなと思ったん
ですけどじゃあこれは分かりやすいです
ありがとうございます
じゃあここまで2章まで説明を発表をして
もらってもらいましたありがとうござい
ますここから
質問タイムなんですけれどもここまでの話
を聞いて
わからないことがあれば
リアクションボタンがあると思うのでそこ
から
挙手でお願いします
些細なことでも聞いちゃって大丈夫です
はいどうぞ村橋さん
すいません
Zeebraっていうのを始めてみたん
ですけどもはい
何ですかこれはこれ関数グラフって言って
もう
あの
可視化できるんですね指揮とかを直線とか
これこれはどっかから取れるんですか今
チャットに送ったんですけどURL踏む
だけで使えますアプリをもあります
ありがとうございます使ってみます
他何かありますかね
佐藤さんとかどうでしょうここまでの話を
聞いて
あすいません
私ちょっと最後に聞こうと思ったんだけど
このこれのゼロつくのねこの本をやるとき
に
環境はね降るあのコラボ使ってるのか
ジュピター使ってるのかどっちの方針
どっちがいいですかね
私はクラブがあまりに使いやすいんです
使ってるんだけど
これあのこのね乗ってたあの関数のやつを
コピペするとできないやつもあるんで
どっちがいいのかなって
適当にやってるんだけど一応今ね実装あの
コラボでもって試してるんだけど皆さん
どっちですかね
チャットに
書いてもらうどうでしょうねなんか
アンケート
すいません私言葉で聞いてしまう
言ってくれたらやっぱコラボやっぱりそう
ですね
コラボを使ってます同じです
ジュピターだと自分のねパソコンの性能で
ね
依存するです
はいありがとうございました
コラボでやっていいよ
ありがとうございます
かどうでしょう
大丈夫そうですねじゃあ
自分から1個
質問はいどうぞ発表ありがとうございまし
ためちゃくちゃ分かりやすかったです
けどこのfxr問題っていう風に
言われる問題がその
非線形だから解けないみたいな話がある
じゃないですかさっき見たとちょっと
日本直線を引くことで分離できてると思う
んですけど
1本で直線1の直線で分離できないことを
非線形って言ってるんですかねその直線で
分離できる分離できる領域非線形という風
に言ってるんですけど
直線日本で分離してるから確かなって思っ
たんですが
そうですねこのなんかこの二次元平面で
言ったら
なんか
説明がちょっと間違って間違ってるを感じ
てしまうんですが本の説明が
自分もそうなんですよねこのこの
図みたいに曲線で分離絶対してるんだろう
なと思ってそうですよね
1個思ったのは
めちゃくちゃ線引けば多分この直線みたい
になるんだろう
なめちゃめちゃ線を引くその今って2つの
式の重なってる部分2つの不等式で
触ってる部分がこの
青い部分だと思うんですけどもっと
いっぱい線を引いて
だろう
この本に書いてある曲線を直線で再現する
ことはできるっていうできる確かにそう
ですね関数
グラフで
絵を描くとかってあるじゃないですか
それと同じで
書けないものはないと思うんですよね
だから
結果的に再現することは可能だと思います
ありがとうございます
説明します
その辺ちょっと理解浅いので
ありがとうございます
他どうでしょう
じゃあ
高柳くんとかどうですかもしなければ感想
とかでも大丈夫です
質問は特にないんですけど
次回僕なんですけどやるのちょっと上手
すぎてちょっとビビってます
とんでもないですそうですね僕まあ
がっつり文系なんでどこまでその
あの近づくその今回の発表のレベルに
近づけれるかなってのがちょっとビビっ
てるところです逆になんか僕のハードル
上がってません
ありがとうございます
はいありがとうございます
中島さんとかどうでしょう
ちょっと中参加であんまり最初の方と学級
じゃなくてあれなんですけど
発表とか上手くてそれでこの
ゲロゲロゲームらとかいろんな
サイトとかあってすごい嬉しいですすごい
なっていうふうには思いましたありがとう
ございます
ありがとうございますありがとうござい
ます
最後一人
[音楽]
三澤さん三澤さん
お願いしますなんかなければ感想とかにも
大丈夫です発表ありがとうございました
ありがとうございます
そうですねちょっと
ディープ
ラーニングを本当に全く知らないので
ちょっとこれ今日習った内容がどんな形で
ディップラーニングっていう形になって
いくかちょっと楽しみですありがとう
ございましたありがとうございます
ありがとうございます
すいませんはいどうぞ1個は銭湯行けんな
と思ってたんですけどその
orxorの時に
1本の線形だけじゃダメっていうので
こういう風に
領域と領域で挟んでやったと思うんです
けど
よくやる」っていうのよくやるというか
まぁ方法としてあるのが
1回
領域を2つに分けて
一緒ですけどだいたいやってることはもう
1回その
領域を
線で分けるとか
だから2段階ですかね
まあ実質的にこれでやってることは一緒だ
と思うんですけどこの平面上じゃないって
いうイメージですかね
なんか1回目分割した時にはい例えば
あの最初に何本だけやるとするじゃない
ですかしたらまあ3個残るじゃないですか
その領域の中でまた2次元の話になって
くると思うんですけど頭の中のイメージで
は湧かないんですけど1回分割した後に別
の領域が生まれるみたいなイメージであっ
てますかね
まあ大丈夫だと
なんか発言しようかなと思ってちょっと
なんか言おうとしただけなんで
ありがとうございます
ありがとうございます
じゃあ他の方は
良さそうですかね
とりあえず
今日は一生と2勝を
沢田君に発表してもらいましたありがとう
ございましたありがとうございます
ありがとうございますありがとうござい
ますありがとうございますで来週なんです
けれども来週は3章の
ニューラルネットワークですねを高柳さん
に発表してもらいたいなと思いますここ
からまあそうですね本格的に
ディープラーニングの
基礎というかそういった部分が
ちょくちょく見られる感じなので
まあ
この勉強会を初見で受けるとまあ多分一発
で理解するのはまあ難しいかなって思うか
もしれないのである程度本を通してから
この勉強会を見ておくとより理解が深まる
んじゃないかなと思います
ということで来週高柳さんよろしくお願い
します
はいはいお願いします
確認しても大丈夫ですかね今そのこの勉強
会なんですけどアカデミックスと
シグネイトで両方2つの単体で入って
もらってるんですけどこのアーカイブ自体
をシグネイトの方でも公開したいアッシュ
レートの中のスラップで公開したいなと
かって思ってるんですが何かその問題が
あったりする方っていらっしゃいますか
だからもし個別でなんか顔映ってると
みたいな話があったらあの言って
いただければ全然公開しないのでなんか
ある場合は僕の方までDM両方僕
シグネットのSlackにもアカデミスの
Slackもいるのでもし何かあったら
連絡いただけるとありがたいですよろしく
お願いします以上すいません開始します
はいありがとうございます他何か
質問とか確認事項ある方いますか
分かりやすい
Browse More Related Video
【NG英語学習法】オンライン英会話から始めるのはNG/今さら聞けないギモンをタロサックが解説/最強の教材はこれだ/自己紹介のコツ【ENGLISH SKILL SET】
『コンサルが「最初の3年間」で学ぶコト』の著者もBCG時代にハマった罠を13個を紹介。2年前にアップして、すでに2万再生。そう、「ポンコツ」ダメコンサルがハマる罠13
【는데요/韓国語】10分で日常会話に必須のネイティブ表現をマスター!
【初心者の悩みを全解決】一流の議事録の取り方/書き方講座。元外資コンサルのコーキが「型」を伝授します。
ゼロからメガベンチャーエンジニアになる完全ロードマップ公開します
誰でも数学で無双できます。【数学の勉強法】
5.0 / 5 (0 votes)