X



人工知能ディープラーニング機械学習のための数学 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2016/12/27(火) 12:09:04.01ID:MgmqZKtO
人工知能ディープラーニング機械学習のための数学
0702デフォルトの名無しさん
垢版 |
2018/07/28(土) 13:41:32.50ID:39ICzHjE
縦か横かは関係ないというか自分がどう見るかで変わる
それより大事なのは右から掛けるか左から掛けるか
shapeで自信がないひとは
適当な正方行列を掛けてみれば良い
0703デフォルトの名無しさん
垢版 |
2018/07/28(土) 13:43:51.13ID:39ICzHjE
>>700
君が期待してるのはこっちだろ

>>> np.array([[1, 2, 3]])
array([[1, 2, 3]])

>>> np.array([[1, 2, 3]]).T
array([[1],
[2],
[3]])
0704デフォルトの名無しさん
垢版 |
2018/07/28(土) 13:45:26.27ID:mGJgyyGV
お前らもうディープラーニングの気持ちわかるの?
こういうことしたいなーって思ったらホイホイとネットワーク組んでおし動いたってなるの?
0705デフォルトの名無しさん
垢版 |
2018/07/28(土) 14:20:12.16ID:kGN2HSKI
>>703
ああそういうことか、ありがとう。

Conv層の入力画像が3チャンネルの場合、
フィルタ行列は3チャンネル別々のものが生成されるの?
それとも同じフィルタ行列を3チャンネルにブロードキャスト
するの?
0710デフォルトの名無しさん
垢版 |
2018/07/29(日) 13:27:59.42ID:96P4hEQ+
これっきり
これっきり
もぉ
0711デフォルトの名無しさん
垢版 |
2018/08/03(金) 14:17:02.83ID:6cBUjeBY
ニューラルネットの質問なんですがバイアスを入力1、重みbとして扱う時に
X=[x1,...,xn,1]
W=[[w11,...,w1k],...[wn1,...,wnk],
[b1,...,bk]]
Y=XW=(1,n+1)
になりますよね
隠れ層がある場合は重みWの最後の列を出力1になるようにしないといけないと思うのですが
W=[[w11,...,w1k,0],...[wn1,...,wnk,0],
[b1,...,bk,1]]
こうしてもいいのでしょうか
0712デフォルトの名無しさん
垢版 |
2018/08/03(金) 16:15:11.46ID:SxfGFWQF
いいよ
0713デフォルトの名無しさん
垢版 |
2018/08/11(土) 03:01:10.43ID:UlpI20Aa
KerasのEmbeddingレイヤーについて教えてほしいんだけどさ
https://keras.io/ja/layers/embeddings/
>正の整数(インデックス)を固定次元の密ベクトルに変換します
の説明で、どういう計算をしたら
> 例)[[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]
になるん?
0715デフォルトの名無しさん
垢版 |
2018/08/11(土) 18:58:02.34ID:Llo9t+It
いやしかし機械学習という神風でPythonがRubyを吹き飛ばしたよね
特にこれから始めようとする人で、Ruby選ぶ人って激減なんじゃないかと
0717デフォルトの名無しさん
垢版 |
2018/08/12(日) 09:32:53.85ID:w9MmyMC1
>>715
pythonは遅いのでJuliaに変わって欲しい。
0718デフォルトの名無しさん
垢版 |
2018/08/12(日) 12:20:59.75ID:rtSL/abo
juliaは美しくない
0719デフォルトの名無しさん
垢版 |
2018/08/13(月) 15:34:06.09ID:TK44Nf0Z
>>718
pythonは遅いからc++にしてくれ。
0720デフォルトの名無しさん
垢版 |
2018/08/13(月) 15:53:32.18ID:DfKQKyT+
フロント言語なんかお気楽さが命なんだから、CとかC++とかはありえねー。
0721デフォルトの名無しさん
垢版 |
2018/08/13(月) 16:07:01.48ID:obMX332h
C++は遅いからCにしてくれ。
0722デフォルトの名無しさん
垢版 |
2018/08/17(金) 19:58:27.13ID:L+Oghf1D
ディープラーニングで関数の先の予測はできますか?
例えばsin関数を学習する例で言えば
学習データとしてsin0~360の範囲で一度ずつ学習させますつまり、0という入力に対し0を返し,90に対し1を返すように学習させます。学習後入力データとして0~360の範囲外のデータを入力した場合どのような値が帰ってきますか?
0724デフォルトの名無しさん
垢版 |
2018/08/17(金) 21:51:00.47ID:L+Oghf1D
>>723
試してみたけど無理っぽいです
0725デフォルトの名無しさん
垢版 |
2018/08/18(土) 11:14:12.66ID:TgZCKLMK
学習してラジアン入力の方が使いやすいとか指示してくれるAIの方がうれしい
0730デフォルトの名無しさん
垢版 |
2018/08/18(土) 16:04:57.24ID:VPacy8Qu
ストライドを1にしたら、微小な位置に対する位置の頑健性が低くなりますよね?
0731デフォルトの名無しさん
垢版 |
2018/08/18(土) 16:06:50.91ID:VPacy8Qu
それと、結局>722の答えとしてはどうなりますか?
0732デフォルトの名無しさん
垢版 |
2018/08/18(土) 17:02:20.81ID:iT5nZqsR
プログラマーのなかには、解をひとつ見つけると、別の解の模索をしないまま、自分の知ってる1つの解だけが唯一の解だと断定したがる、頭のわるい人がいます。どうも彼らは、高校数学の知識が、まったく思考力に結びついてないらしいです。

そして、このような論理的思考力のひくい頭のわるいプログラマーにかぎって、「プログラマーには数学が重要だ! 数学教育は論理性を養う!」とか言ってたりしますので、とことん呆れます。
0734デフォルトの名無しさん
垢版 |
2018/08/18(土) 19:00:13.65ID:IyhzoKxX
>>732
ほんそれ+1
0735デフォルトの名無しさん
垢版 |
2018/08/18(土) 19:25:31.95ID:VeWEqIaW
関係ないよ、数学は数学、といってもたいした数学をやっていないんだろうけど(笑)
0736デフォルトの名無しさん
垢版 |
2018/08/18(土) 19:30:52.21ID:VeWEqIaW
狭い世界しか知らないのに微積分程度の知識で偉そうな顔をする、理解不能w
0737デフォルトの名無しさん
垢版 |
2018/08/20(月) 08:45:14.02ID:kpNK1Ja8
>>721
Cは遅いからアセンブラにしてくれ。
0738デフォルトの名無しさん
垢版 |
2018/08/20(月) 13:12:28.39ID:h5lNG6L+
アセンブラが速いのは昔の話
0741デフォルトの名無しさん
垢版 |
2018/08/20(月) 14:11:56.42ID:M28ffXzp
courseraでMLの授業取ってるんだけど、
θ'X のoctave実装が、X * θ になってるんだけど、
どうして逆になってるの?'は転置です。
そのままθ' * X だとサイズエラーになります。
0743デフォルトの名無しさん
垢版 |
2018/08/20(月) 14:22:58.02ID:Ylg8Xkap
サイズエラー当たり前
0744デフォルトの名無しさん
垢版 |
2018/08/20(月) 14:50:22.84ID:M28ffXzp
サイズを調べると、θ は 2 * 1 X は 97 * 2 でした。
Xはテストデータの行列のようです。
ちなみに最急降下法の実装です。

θ' * Xがエラーになるのは、分かるのですが、モデルではθ'Xでと書いてあって、混乱しています
0745デフォルトの名無しさん
垢版 |
2018/08/20(月) 14:55:15.55ID:H+/PCJgC
θ * X'
0747デフォルトの名無しさん
垢版 |
2018/08/21(火) 10:32:47.84ID:tkrZv4s7
OpenGLとDirectXでは順序が違うアレか
0749デフォルトの名無しさん
垢版 |
2018/08/22(水) 17:01:54.86ID:Q4k/bgn4
数学で良く使われる線形代数とMLのそれは違うからな
0751デフォルトの名無しさん
垢版 |
2018/08/22(水) 20:23:14.92ID:UCPmMQzw
一緒だよ
0753デフォルトの名無しさん
垢版 |
2018/08/23(木) 09:11:55.04ID:29gBK1aD
NHKω
0754デフォルトの名無しさん
垢版 |
2018/08/23(木) 15:06:06.83ID:Yll/HlKL
>>744
それ線形代数になれてないと、本当に最初混乱するけど
冷静にサイズチェックして行列の掛け算が実行可能なやり方にすればできる

一般化して簡単化してる講義ではnx1行列のθとXを想定してるから
スライドでもθ[θ1;θ2;θ3;....θi]、X[x1;x2;x3;....xi]って列ベクトル(orたまに行ベクトル)で表記してる
その場合、θ' has size 1 x n、X has size n x 1になって
θ' * Xで左からかける行列の列数と右の行数が一致してるから計算できる

要はθとXで内積取ればいいって考えれば,X has size m x 1、θ has size 1 x 1に
インターセプト項を加えて、Xがm x n行列、θがn x 1行列になった時
これらの行列の内積を取るには、(θ' * X') or X * θを計算すれば良いと分かるっていう
講義中の線形代数のチュートリアルでやってる簡単な話になる
0755デフォルトの名無しさん
垢版 |
2018/08/23(木) 15:14:07.22ID:Yll/HlKL
てか俺もまだMLやってる途中なんだけど
同じ教授のディープラーニングコースの方をやり終えた人いる?
いたらどの程度日本語字幕付いてるか教えてほしい
1週間の無料期間だとちょっとしか見れないだろうから

日本語字幕ありとなしじゃ倍以上理解に時間かかるわ…
0756デフォルトの名無しさん
垢版 |
2018/08/23(木) 15:41:42.39ID:nRYvmGHy
行列の内積や積の意味さっぱりわからずに単に数字の操作としてしかやってないからそんなつまんないところで躓くんだろうな
やっぱ線形代数の入門書ぐらいは読んどいた方がいい
0757デフォルトの名無しさん
垢版 |
2018/08/23(木) 15:45:33.72ID:9jntmGn7
■クソマウンティング警戒情報■

クラス1 大学の授業で線形代数をやっただけのおっさん
クラス2 大学には行かなかったが線形代数を独習したおっさん

このあたりが出没してるので気をつけましょう。
0759デフォルトの名無しさん
垢版 |
2018/08/23(木) 15:57:35.51ID:dSKkSrpr
線形代数知らないと大損だよ!

人工知能
ディープラーニング
機械学習
だけじゃないよ!

プログラミングでかなり重要
0761デフォルトの名無しさん
垢版 |
2018/08/23(木) 16:15:33.38ID:+UveuQfQ
>>757
ここは高卒率高い
0762デフォルトの名無しさん
垢版 |
2018/08/23(木) 20:57:35.73ID:n9wdMl+k
行列学ぶにはには画像処理がいいって、
それ一番言われてるから。
データサイエンスから派生してOPenCV
始めたけどかなり楽しいゾ。
数式見るだけより画像がどう変化するかを
確認するとアルゴリズムの意味や目的が
はっきりわかんだね。
0764デフォルトの名無しさん
垢版 |
2018/08/23(木) 22:27:21.08ID:n9wdMl+k
ライブラリを使うには数学知識が必須
なんだよなぁ…
例えばnumpyを使うのに行列知識ゼロじゃ
使いこなせない。
逆にnumpyを使っているうちに行列への
理解が深まるってこともあるし。
0766デフォルトの名無しさん
垢版 |
2018/08/24(金) 03:41:37.45ID:6wpy6wRV
回答がつくか自信がないですがいくつか質問です
@ 右上の▽E(w)の定義を教えてください
A なんで式の3行目のβにはtがくっついているのですか

https://i.imgur.com/cqdg8pC.jpg
0767デフォルトの名無しさん
垢版 |
2018/08/24(金) 05:08:08.95ID:c+mh3mBZ
>>569
もちろんある程度大学の数学をやった上で言ってるんだと思うんだけど
ある程度やった上での発言だとしたら頭が悪いわ
0768デフォルトの名無しさん
垢版 |
2018/08/24(金) 05:59:54.55ID:/QW9Joy2
>>765
行列式の計算とかnumpyで楽チン。
0769デフォルトの名無しさん
垢版 |
2018/08/24(金) 06:29:31.37ID:dwzt+F5U
>>766
>@ 右上の▽E(w)の定義を教えてください
損失関数Eの勾配
=δE/δw

>A なんで式の3行目のβにはtがくっついているのですか
学習の経過に従って、mとvの寄与度を調整して学習を安定させる
0771デフォルトの名無しさん
垢版 |
2018/08/24(金) 06:56:46.17ID:dwzt+F5U
Aの補足

学習の初期段階でtが小さい時にmとvを調整して学習を安定させる効果がある。

この式の分母はtが大きくなるとほぼ1になりほとんど変化しなくなる。
0774デフォルトの名無しさん
垢版 |
2018/08/24(金) 12:58:10.52ID:6wpy6wRV
>>766です
ありがとうございます、解決しました

tが0から始まるとすればbeta^0でそっから1引いたものが分母になるから分母0にならないですか?
0777デフォルトの名無しさん
垢版 |
2018/08/25(土) 22:43:44.04ID:xNcAdL4l
>>776
その畳み込みの次にある層からの誤差
0778デフォルトの名無しさん
垢版 |
2018/08/26(日) 00:28:46.57ID:ZbBrZXXn
誤差逆伝播法では誤差が下層から上層に伝えられていく。誤差が具体的に何かと聞かれても、正解値と推定値の差を順次上層に向かって伝えられていく値としか答えようがない。
0779デフォルトの名無しさん
垢版 |
2018/08/26(日) 00:35:44.23ID:czFWrRej
>>777
例えば畳み込み層の前がプーリング層だった場合具体的に何が誤差になりますか?
0780デフォルトの名無しさん
垢版 |
2018/08/26(日) 00:59:20.08ID:ZbBrZXXn
例えばMAXプーリング層では、下層から伝えられた誤差(偏微分値)を、順伝播時のMAXだったノードに伝えられる。MAX以外のノードには0が伝えられる。このようにそのノードの性質によって何が伝えられるかは変わってくる。
0781デフォルトの名無しさん
垢版 |
2018/08/26(日) 02:15:36.01ID:czFWrRej
>>780
そのプーリング 層の前が全結合層だった場合その層での誤差は何になるのでしょう?全結合層での入力層と隠れ層の間の重みとかですか?
0782デフォルトの名無しさん
垢版 |
2018/08/26(日) 02:36:56.87ID:DVI2ghbE
東京大学理学部数学科に入って、数論幾何学を勉強したい。
でも脇見恐怖症だしなぁ・・・・・。
0783デフォルトの名無しさん
垢版 |
2018/08/26(日) 08:52:46.06ID:Eme/jpQ6
>>781
全結合部の出力層で誤差関数で誤差を求めて後は入力側に向かってその誤差を各ニューロン毎に重み掛け算して分配していく。
分配が終わったら誤差、学習率等を使って各重みを更新。間違ってたら指摘お願いします
0784デフォルトの名無しさん
垢版 |
2018/08/26(日) 09:59:18.87ID:1PWWH1+1
>>783
「重み掛け算」というのが違う。どのように分配していくかは、順伝播時ノードの処理によって変化する。足し算ノードなら何もかけずに逆伝播させるし、掛け算ノードであれば逆ノードの値を掛けて逆伝播させるし。
0785デフォルトの名無しさん
垢版 |
2018/08/26(日) 10:05:05.45ID:1PWWH1+1
上記についてはこのページが詳しいかな
ttps://qiita.com/t-tkd3a/items/031c0a4dbf25fd2866a3
0786デフォルトの名無しさん
垢版 |
2018/08/26(日) 12:56:14.32ID:lds9ox+q
リアルプログラムでは学習した結果ってどうやって永続化してるの?
ファイルに書き出すの?
0788デフォルトの名無しさん
垢版 |
2018/08/26(日) 13:55:39.86ID:u+wmgHES
基本的には各サンプルを通して損失関数を最小化するθ(重み)が学習成果なわけだから
そのθをファイルに保存する
途中からの場合θのファイルをロードする
モデルによって他にドロップアウトやRegularization値など自動で最適化してるハイパーパラメータがあればそれもファイルに保存する
0789デフォルトの名無しさん
垢版 |
2018/08/26(日) 20:58:22.32ID:czFWrRej
>>785
ありがとうございます!
0791デフォルトの名無しさん
垢版 |
2018/08/27(月) 12:03:01.85ID:Q4eMB8Ps
起動に15時間
シャットダウンに7時間
0792デフォルトの名無しさん
垢版 |
2018/09/01(土) 12:14:47.04ID:wGe/Loro
CNNの畳み込み層でも活性化関数使うのが普通なんですか?

あと3次元フィルタを使ってますが、私のフィルタは2次元です。一度グレイスケールにしてからフィルタ適用しているので...この3次元フィルタを使うことの方が普通なのかな?
http://iup.2ch-library.com/i/i1931933-1535771487.jpeg
http://iup.2ch-library.com/i/i1931932-1535771487.jpeg

https://www.google.co.jp/amp/s/deepage.net/amp/deep_learning/2016/11/07/convolutional_neural_network

あと1層目でエッジ検出はわかるのですが、次の層でテクスチャ検出できるのが意味がわかりません、テクスチャって水玉模様とかそんなのですよね?
http://iup.2ch-library.com/i/i1931934-1535771654.jpeg
3次元フィルタを使うことに関しては特徴マップが何層もあるから?
0793デフォルトの名無しさん
垢版 |
2018/09/01(土) 23:34:32.22ID:gvHsCwll
全部チューニングの問題。その設定で精度のが上がれば、そのタスクにとっては「正しい」設定となる。
0795デフォルトの名無しさん
垢版 |
2018/09/02(日) 18:18:25.17ID:Gf+N3VgJ
色々深層学習のライブラリ弄ってて、モデルそのものを弄りたくなってきて調べたけど

既存の深層学習のライブラリ全部、iter中に計算速度稼ぐことメインに考えてて
気軽に独自モデル試せるようなもんじゃないんだな
ライブラリ使って新しいモデル作ってる研究者は低レベルで殴り合ってるわけだ
ソース見てもモジュール化されすぎてて全部理解するのには相当時間かかる

独自にモデル作ってる人らには頭が下がるわ
フルスクラッチでやったほうが実装そのものは相当楽だろ
でも今どきフルスクラッチでDNNの新モデル作ったところで研究者には見向きもされないんだろうな
0796デフォルトの名無しさん
垢版 |
2018/09/03(月) 01:01:43.69ID:esF28k94
そうでもない
がんがれ
0798デフォルトの名無しさん
垢版 |
2018/09/08(土) 17:42:16.54ID:RrQSE86D
似非サイエンス0でやってた
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況