FC2ブログ

cross-entropyの謎 (7)

cross-entropyの計算、いろいろと習得できたのですが、いまだはっきりとわからないのが、最尤推定からcross-entropyを導くところです。

PRMLでは、ややこしい式から、cross-entropyを導きます。4.3. Probabilistic Discriminative Models のところです。岡谷先生の「深層学習」でも、同じ道筋を踏襲。

一方、DL本では、5.5 Maximum Likelihood Estimation において、まったく異なる(と思われる)道筋が示されます。これは面白い議論ですが、この両者が同じことを言っているのかどうか、よくわからない。

もう少し考えますが、簡単な道筋のほうがいいですね。
スポンサーサイト

cross-entropyの謎 (6)

softmaxにおける、cross-entropyの偏微分計算、やっとできました。場合分けが必要です。すなわち、

L = -Σktk log(yk) --- (1)
yk = exp(xk) / Σiexp(xi) --- (2)

としたときに、

∂L/∂xk = Σj(∂L/∂yj)(∂yj/∂xk) --- (3)

を計算します。

∂L/∂xk = Σj(-tj/yj)(∂yj/∂xk) --- (4)

ですが、ここで、k=jのときと、k≠jのときで結果が異なりますので、場合分けをしなければなりません。

まず、k=jのとき、式(4)は、

∂L/∂xk = (-tk/yk)(∂yk/∂xk) = (-tk/yk)(exp(xkiexp(xi)-(exp(xk))2)/(Σiexp(xi))2 = (-tk/yk)(yk-yk2) = -tk(1-yk)--- (5)

一方、k≠jのときは、

∂L/∂xk = Σj(-tj/yj)(-exp(xj)exp(xk))/(Σiexp(xi))2 = Σj(tj/yj)yjyk = ykΣjtj = yk(1-tk)--- (6)

式(6)では、最後のΣはイチとはなりません。k=jのときを省いているからです。ここで間違えました。

さて、式(5)と式(6)を足したものが答えなので、

∂L/∂xk = -tk(1-yk) + yk(1-tk) = yk - tk --- (7)

直接代入してやると、対数のおかげで場合分けは不要です。対数というのは、計算を簡単にしてくれる、魔法のツールです。

cross-entropyの謎 (5)

softmaxにおける、cross-entropyの偏微分計算、習得したのですが、

http://kanouy.blog9.fc2.com/blog-entry-2027.html

L = -Σktk log(yk) --- (1)
yk = exp(xk) / Σiexp(xi) --- (2)

ここで、式(2)を式(1)に代入せずに、

∂L/∂xk = Σj(∂L/∂yj)(∂yj/∂xk) --- (3)

としてやってみようとしました。同じことだし、このほうが簡単にできると思ったのです。

しかしながら、場合分けをする必要が出てきて、ややこしくなり、挫折しました。添え字が三つでてきて(微分したい添え字/偏微分の総和の添え字/確率の正規化の添え字)、混乱したのですが、おかしいな...相変わらず計算力はない。

cross-entropyの謎 (4)

計算の練習で、2クラス分類における、cross entropyの微分を計算してみました。

L = -t*log(y) - (1-t)*log(1-y) --- (1)

と、cross entropyを定義します。これをyで微分すると、

∂L/∂y = -t/y + (1-t)/(1-y) = (y-t)/(y(1-y)) --- (2)

ここで、

y = 1 / (1 + exp(-x)) --- (3)

ですが(シグモイド関数)、これは、以下が成り立つことが知られています(計算してもよい)。

dy/dx = y(1-y) --- (4)

式(2)と式(4)を組み合わせると、

∂L/∂x = y - t --- (5)

となり、非常に簡単な式が得られました。機械学習における、重要な結論のひとつです。

トピックモデルによる統計的潜在意味解析 (11)

本日(2019年2月4日、20時~22時)は、佐藤一誠先生著、「トピックモデルによる統計的潜在意味解析(2015)」、の輪読会です。第六回、私が担当します。担当範囲は以下です。

3.3.6 LDAの変分ベイズ法 (2)
3.3.7 LDAの変分ベイズ法 (3)
3.3.8 LDAの周辺化変分ベイズ法

場所は、コワーキングスペース秋葉原 Weeyble(ウィーブル)。
(http://weeyble.com/)
東京都千代田区神田須田町2丁目19−23(野村第3ビル4階)。

当日でもお申込みが可能です!(おそらく)
https://weeyble-data.connpass.com/event/118495/

Deep Learning (28)

Ian Goodfellow , Yoshua Bengio , Aaron Courville
Deep Learning (Adaptive Computation and Machine Learning series) November 18, 2016.

某所にて、同書の説明会を行いました。予定としては一時間程度。

しかるに、パートⅢの時間がなくなりました。さらに、もうこの部分も徐々に古くなっています。いまや、生成モデルと言えば、GAN(Generative Adversarial Networks)になっています。特に、MCMCの人気がなくなった。

したがって、ここは端折りまして、最新の論文を解説しました。この結果にはご参加いただいたかたも結構驚かれ、これからはfakeの情報であふれるのではないか、などという議論となりました。

実際のところ、GANは、realかfakeか識別できないように学習するわけですから、そのような帰結ができるわけです。考えようによてはかなり恐ろしい。

トピックモデルによる統計的潜在意味解析 (10)

佐藤一誠先生著、「トピックモデルによる統計的潜在意味解析(2015)」、の輪読会ですが、次回は私が担当です。担当範囲は以下。

3.3.6 LDAの変分ベイズ法 (2)
3.3.7 LDAの変分ベイズ法 (3)
3.3.8 LDAの周辺化変分ベイズ法

一応、資料はほぼ作成しました。直前にやれるようなシロモノではありません。難書です。

やはり、いろいろと疑問点があります。誤植と思われる個所も何ヵ所か発見しました。ウェブにアップされている正誤表には記載されていないものです。

そこで前回です。75ページ上段の式の符号が四か所間違っているので、それを指摘したところ、どうも噛み合いません。それもそのはず、最新版(4刷)では修正されていたのです。私のは2刷です。1刷→2刷の誤植表はネットで取れたのですが~

とはいえ、最新版に買いかえる気もないです。こういうときのために輪読会はある。

トピックモデルによる統計的潜在意味解析 (9)

佐藤一誠先生著、「トピックモデルによる統計的潜在意味解析(2015)」、輪読会の報告です。三回目の参加でした(全体では五回目)。

今回は、以下の内容でした。

3.3.3 変分ベイズ法 (2)
3.3.4 LDAの変分ベイズ法(準備)
3.3.5 LDAの変分ベイズ法 (1)

プレゼンターさんがきれいにまとめてくれまして、たいへん参考になりました。こういうのが楽しい。

次回ですが、私がプレゼンします。担当は以下です。すべてキビシイですが、最後の3.3.8が難関です。

3.3.6 LDAの変分ベイズ法 (2)
3.3.7 LDAの変分ベイズ法 (3)
3.3.8 LDAの周辺化変分ベイズ法

トピックモデルによる統計的潜在意味解析 (8)

佐藤一誠先生著、「トピックモデルによる統計的潜在意味解析(2015)」、輪読会の報告です。二回目の参加でした。

プレゼンターさんの手際がよく、サクサクと進みました。結果的に、3.3.2 変分ベイズ法(1)まで終了。次回は、3.3.3 変分ベイズ法(2)からです。

ディリクレ分布からのサンプリングについて質問しましたが、質問の意図がよく伝わらなかったので、欲しかった解答は得られませんでした。ディリクレ分布の確率密度はよいとして、ここからどのようにサンプリングするのかが、疑問のままです。

正規分布については、一様乱数を発生させ、正規分布の累積の逆関数から得られますが、このようなやりかたが、ディリクレ分布で可能なのでしょうか?引き続き疑問であります。

Backpropagation (2)

最近遅ればせながら、VAEやGANなどの生成モデル論文を読んでいます。

ここで思うのは、やはりbackpropagationが出てきたか、ということ。

GoodfellowらのDL本では、生成モデルの計算については、MCMCを登場させています。結局のところ、MCMCを使わなければ、潜在変数の確率密度が求められないのです。

しかるに、VAEやGANでは、これを避ける。VAEでは、潜在変数の確率密度を正規分布と仮定、平均と分散をニューラルネットに組み込みます。これはすごいアイデア。GANに至っては、教師データとモデルの分布の分類器をニューラルネットで作るという、超裏技を繰り出した。

なにやら戦国時代の様相を呈していますが、今後どのような方向に向かうのか、私にはわかりません。ただ、30年前に開発されたbackpropagationという、明確に定義された計算手法が、いまだにきちんと受け入れられているということ。やはり、きちんと定義され、きちんと計算できる、という数学的構造には普遍性があるということでしょうか。

Generative Adversarial Networks

Generative Adversarial Networks(GAN)、Goodfellowらによる、オリジナル論文(NIPS'14)を読みました。さまざまな生成モデルの中でも、いま最も研究が進んでいるものです。

読後の感想です。まず、このような仕組みをよく考えたな~と思いました。原理は単純なので、いわゆる、コロンブスの卵的発想?収束の証明があるのですが、数学的で、よくわかりませんでした。

Goodfellowによる、NIPS'16のチュートリアルもネットで取れます。これは読みやすいです。

Variational Autoencoders(VAE)もそうなのですが、いまや、MCMCは嫌われていて、これの使用を回避するのがウリとなっているようです。MCMCが登場したときは、ベイズ統計の「救世主」と言われたので、隔世の感があります。

トピックモデルによる統計的潜在意味解析 (7)

佐藤一誠先生、「トピックモデルによる統計的潜在意味解析(2015)」、数式に懲りて、もう読むことはないと思い、とある場所に置いていたのですが、知人のMathematica達人、松田さんから、同書の輪読会を教えてもらいました。すぐに参加申し込みをするということは、やはり楽しい書物ということです。

さて、輪読会当日、とある場所に出向き、同書を引き取り、その夜、ノコノコと行ってまいりました。秋葉原のコワーキングスペースです。

すでに三回目で、今回は3.学習アルゴリズムからです。ここからが本題なので、タイミングは最適。

輪読会というものへの参加は、今回が初めてだったのですが、出てみてわかったことは、非常に有意義だということ。どんな優秀な人に対しても、特定の書物の中の、特定の数式について訊いても、回答はもらえません。しかし、このような輪読会では、参加者はすでに特定の書物が興味の対象なので、その中の特定の数式について訊くと、答えてくれる人がいるわけです。貴重な2時間を過ごしました。これで千円なので安いです。

というわけで、この輪読会は、リピーターとなりました。驚くべきことに、知人のM先生に会いました。こういうのも楽しいです。

トピックモデル (2)

ご無沙汰していた、「トピックモデル」ですが、某MLにて、Bleiのオリジナル論文が添付されてきました。2003年のものです。

これは読んだことがなかったので、見てみました。これによると、β、すなわち、各トピックにおける単語の生起確率(多項分布)は、推定されていません。オリジナルなので、解法にはいろいろと改良すべき点がありますね。実際、このあと進化しているのは周知のとおり。

しかし、最初にこのモデルを作ったBleiという人はすごいですね。YouTubeに本人による解説ビデオがアップされているので、観てみました。コメントで面白かったのが、"Why is Elvis teaching topic models?"というもの。Bleiはエルビスに似ているんです。

このプレゼンは、まさにプレゼンのお手本です。トピックモデルに興味ある人は、ぜひご覧いただきたいです。最初に聞き取れなかったのが、「ディリシュレ」。これはディリクレです。

Variational Autoencoders

遅ればせながら、Variational Autoencoders(VAE)、勉強してみました。以下のふたつの論文です。

1) Auto-Encoding Variational Bayes, Kingma & Welling, 2014.
2) Tutorial on Variational Autoencoders, Doersch, 2016.

双方とも、arXivで取れます。便利な世の中になりました。今後も学会というものは、存在するのだろうか?

1)はオリジナル論文です。2)はそれの解説。1)はわかりづらいところが多く、2)がたいへん参考になりました。それでもわからないところはありますが。

ポアソン分布 (3)

ポアソン分布は、以下の式で表されます。

p(x;μ) = (μxe)/x! --- (1)

平均はμです。これは、二項分布からポアソン分布が導けることを使えば、至極簡単にわかるのですが、正統的な平均の計算でやってみます。

平均=Σx (μxe)/x! --- (2)

Σはx=1~∞です。本当はゼロからですが、x=ゼロのときはその項はゼロですから、無視してよい。

さて、式(2)をxで約分し、さらにxに無関係な項をΣの外に出すと、

平均=eΣμx/(x-1)! --- (3)

ついでに、μもひとつΣの外に出します。x=1からなので、各項に必ずμはひとつある。

平均=μeΣμx-1/(x-1)! --- (4)

式(4)のΣの中身をじっとみると、これはeμをテイラー展開したものと同じです。したがって、

平均=μeeμ = μ --- (5)

が導けました。

Backpropagation

Backpropagation、最近ある方に説明する機会がありましたので、見直していました。

合成関数の微分がわかれば、基本的にはわかるのですが、やはりややこしいです(添え字がたくさん出てくる)。以下、私なりの注意点です。

1.出力層のエラーだけは、個別に考えます。これは適切なエラー関数を考えてやると、(出力)マイナス(教師データ)、という極めて簡潔な表現となります。回帰しかり、分類しかり(2クラスでも多クラスでも)。

2.各ノードは、前半と後半に分けて考えます。この関係が、活性化関数。これの微分が入ることに注意。もっと言えば、これが「勾配消失問題」の元凶。

3.エラー関数をノード前半の値で微分した量を、PRMLではδと記していますが、この量を理解することが重要。慣れれば便利です。ノード前半での微分なので、活性化関数の微分が含まれます。

-------------------------------------------

アルゴリズムとして整理されているのは、やはりPRMLです。同書の、5.3. Error Backpropagationの情報がすべてです。または、"Deep Learning"の、Algorithm 6.4ですね。

二項分布 (5)

二項分布 Bin(n, p)の分散は、np(1-p)です。

正攻法でやってみようと、以下の式を自力で計算してみました。

Σ(r-np)2nCrpr(1-p)n-r --- (1)

これはかなり大変でした。一時間くらいかかりました。平均の導出で使ったテクを駆使します。詳細はおいといて、最後に3つの項が出てきます。すなわち、

σ2 = np2(n-1) + np - n2p2 --- (2)

式(2)を整理すると、

σ2 = np(1-p) --- (3)

が得られます。つかれました。

Deep Learning (27)

Ian Goodfellow , Yoshua Bengio , Aaron Courville
Deep Learning (Adaptive Computation and Machine Learning series) November 18, 2016.

第20章(最終章)の"Deep Generative Models"、20.4.4、Layer-Wise Pretraining、の解読をいたしました。

これはHintonらが、deep neural networkがうまく初期化できることを示したもので、ここからDNNの快進撃が始まったという歴史的なアルゴリズムです。これが、

Algorithm 20.1 The variational stochastic maximum likelihood algorithm for training a DBM with two hidden layers.

として、詳しく紹介されています。ここは難解で、解読するのに一日を費やしました。構造的には、

Algorithm 18.3 The stochastic maximum likelihood / persistent contrastive divergence algorithm using gradient ascent as the optimization procedure.

と同じですが、これにvariationalとNNの学習が追加されているというものです。

Algorithm 20.1の後には、アルゴリズムの紹介はないので、これがわかれば、本書は卒業ということでしょう。

Deep Learning (26)

Ian Goodfellow , Yoshua Bengio , Aaron Courville
Deep Learning (Adaptive Computation and Machine Learning series) November 18, 2016.

ついに、第20章(最終章)までやってきました。"Deep Generative Models"です。

20.4がひとつのヤマですね。Deep Boltzmann Machinesです。テクとしては、ベルヌイ分布(0/1なので)、シグモイド関数、KLダイバージェンス、MCMC(ギプスサンプリング)、などですね。これまでの総動員。難しいですが、楽しいです。

岡谷先生の「深層学習」最終章がボルツマンマシンですが、3年前にここを読んだときは全くわかりませんでした(というか、途中でやめた)。でも、いま読むと、多少ともわかるのがうれしい。

サンプリングの謎 (2)

昨日(2018年11月7日)の記事にて、コメントをいただきました。

「標本平均と期待値を混同されてはいませんか?」というものです。それで、少し調べてみました。

薩摩順吉先生「確率・統計-理工系の数学入門コース7」の103ページに、「標本平均」と題して以下の記述があります。

「3-2節で定義した平均は、全体の分布がわかっているとして、その確率密度にもとづいて計算した平均である。それに対して、標本平均は、全体のことはわからないまま、その中から抽出した標本について、単に算術平均をとったものである」

なるほど、この記述によれば、私は混同しています。たいへん失礼いたしました。

私は通常の確率・統計本より、機械学習本を読むことが多いのですが、機械学習本だと、標本での平均操作を普通にやり、それを期待値とみなします。もちろん、ある分布からの標本です。ただ、実際には正しい分布はわからないので、あるモデルを仮定し、そこから標本をとってやることになります。

このあたりは、もしかしたら多少の乖離があるのかもしれません。

サンプリングの謎

サンプリングは、日常普通に使われます。

たとえば、ヒトの身長の平均を求めたいときは、ランダムにサンプルを抽出、それの算術平均で計算します。これは誰も疑問に思いません。

しかし、ちょっと待ってください。平均の定義は、サンプル値にその確率をかけて、サンプル数で足し合わせたものですね。

ここに乖離があるわけですが、これはモンテカルロ法でサンプルした状況と同じです。つまり、サンプリングするということは、ある確率密度から抽出するので、すでに確率が考慮されているということです。

このあたり、初歩的な確率・統計本では、きちんと説明がされていないような気がします。気のせいかな?

二項分布 (4)

二項分布 Bin(n, p)の分散は、np(1-p)です。

これを求めるには、さまざまなやり方があります。もちろん、平均の計算よりも難しい。

まず、確率変数をひとつとして分散を計算します。これは分散の定義により、

(0-p)2(1-p) + (1-p)2p = p(1-p) --- (1)

そして、式(1)をn倍してやればよいです。

数式をいじりたい人は、以下の計算をすればよろしい。

Σ(r-np)2nCrpr(1-p)n-r --- (2)

やり方はたとえば、「高校数学の美しい物語」というブログに紹介されています。このサイトの記述は素晴らしく、よく参考にします。

二項分布 (3)

二項分布 Bin(n, p)の平均は、npです。

これを求めるには、さまざまなやり方があります。たとえば、ひとつひとつの確率変数の平均はpなので、それをn倍してやればよい。これが一番簡単です。

数式をいじりたい人は、以下の計算をすればよいです。

ΣrnCrpr(1-p)n-r --- (1)

計算してやると、npになりますが、これは少しややこしいです。やり方はたとえば、「高校数学の美しい物語」というブログに紹介されています。シグマ/コンビネーション/二項定理のよい練習になります。

二項分布 (2)

昨日(2018年10月31日)、湘南工科大学の講義で、二項分布を紹介しました。

二項分布は簡単そうに見えますが、その中にさまざまな数学のテクが入っていて、重要ですね。まず、場合の数を数えるので、コンビネーションの計算が必要。これには階乗が必要です。また、確率本体の計算では、乗数の計算があり、ゼロの場合も含みます。相応の計算知識が試されるところです。

分布としては最初に出てくるわけですが、思いのほか難しいです。

Deep Learning (25)

Ian Goodfellow , Yoshua Bengio , Aaron Courville
Deep Learning (Adaptive Computation and Machine Learning series) November 18, 2016.

第19章までふらふらと到着。"Approximate Inference"、です。この章は難しいです。これまでやったことが総動員されています。でも、読めないことはない。

19.4.2に変分法の説明があります。英語では"Calculus of Variations"です。情報系の方には敷居の高いところでしょう。工学では解析力学で出てくる、よく知られた理論です。

よい例としては、与えられた分散を持つ分布で、エントロピーが最大となるものはなにか、というもの。これは正規分布ですが、変分法の解法で導出されます。式(19.48)~(19.54)です。

Importance Sampling

Importance sampling、理論がいまいちよくわからず、使ったこともありませんでした。

以前、大学の授業で、モンテカルロを使った積分を教えたことがありました。円周率を求めるようなヤツです。そのあとで、

f(x) = 1/x --- (1)

の積分をやるときに、グラフを区分で分割し、長方形で近似するやりかたを説明しました。そして、式(1)の積分、つまり、

log(x) = ∫dx/x --- (2)

を計算して、両者を比較するなどをやったわけです。

さて、ここでやっと気がつきました。これはimportance samplingが使えますね。たとえば、[1,2]の区間で積分をしてやる場合、一様分布をp(x)として、

log(x) = ∫dx/x = ∫p(x)dx/(px(x)x) = E[1/x] --- (3)

として計算できるわけです。プログラミングしてみると、確かにlog(2)に近づきます。なるほど~ちょっと面白いかも。

モンティ・ホール問題 (2)

湘南工科大学での確率・統計の授業で、「モンティ・ホール問題」を紹介しようと思います。

前回、ベイズの定理をやったので、関連する興味ある話題、ということで、この問題を解くのにベイズを応用しようと思ったわけです。

しかしながら、これへのベイズの適用は、なかなか面倒くさいですね。問題が理解できれば、解は自明なので、どうしようかな...楽しい話なので、紹介はしようと思いますが、落としどころは思案中...

positive phase vs negative phase

昨日の続きです。以下の式におきまして、

θlog p(x;θ) = ∇θlog p'(x;θ) - Ex~p(x)θlog p'(x) --- (1)

右辺第一項は"positive phase"、第二項は"negative phase"と呼ばれます。

左辺は、対数尤度のパラメタに関する微分ですから、これがゼロになったときが、最尤法におけるパラメタの最適値です。では、いつゼロになるかというと、右辺のふたつの項が釣り合ったときですね。

右辺第一項の意味ですが、これは訓練データから得られるxを使います。対して、第二項では、MCMCにより得られるxを使います(なぜか?モデル分布からのサンプルが必要なので)。なので式(1)というのは、モデルをデータに当てはめてやる過程を表現していると言えます。

"Deep Learning"本では、ここでneuroscienceの研究が紹介されます。すなわち、第一項は、ヒトが現実で経験することを表します。対して、第二項は、ヒトが寝ているとき、特にREM睡眠の状態を表します。つまりヒトというのは、現実を解釈するときには、寝ているときに、脳の持つモデルを現実に当てはめる処理をしているのではないか、ということです。

ホントかな?これはまだ、証明されていないということですが、面白い解釈をするひとがいるものです。

Deep Learning (24)

Ian Goodfellow , Yoshua Bengio , Aaron Courville
Deep Learning (Adaptive Computation and Machine Learning series) November 18, 2016.

なんとか第18章まで来ました。"Confronting the Partition Function"、つまり「分配関数」の攻略です。

最初に、以下の式が登場します。同書では、式(18.4)です。

θlog p(x;θ) = ∇θlog p'(x;θ) - ∇θlog Z(θ) --- (1)

要するに、確率密度を正規化したものの対数をとり、それをパラメタで微分したものです。Z(θ)が悪名高き、「分配関数」。

式(1)の第二項は、以下のように書けることが示されます。同書では、式(18.5)です。

θlog Z(θ) = Ex~p(x)θlog p'(x) --- (2)

このふたつの式の解釈がいろいろと書かれているわけですか、これがかなり面白いです。最初はまるでわからなかったのですが、何度も読み直すうちに、わかりました。楽しいところです。

MCMC法 (4)

MCMC (Markov Chain Monte Carlo) という技術を知ってから、早や5年経ちます。最初はなんのことか、まるでわかりませんでした。

ベイズ統計において、パラメタの事後分布を求めるのによく使われるわけですが、"Deep Learning (2016)"の第17章に登場するのには、ちょっとびっくりしました。Deep Learningになにか関係がある?

それが関係ありそうなんです。"17.5 The Challenge of Mixing between Separated Modes"に、それに関連する、難しい話が書かれてあります。
プロフィール

加納裕(かのうゆたか)

Author:加納裕(かのうゆたか)


[略歴]
1983年3月東京工業大学工学部機械物理工学科卒業
1983年4月(株)図研入社
1987年1月同社退社
1987年2月(株)ソリッドレイ研究所を6名で設立、取締役
1994年3月同社退社
1994年4月(株)スリーディー入社
1996年10月同社取締役
1999年12月上海大学兼務教授
2002年10月同社代表取締役
2009年9月ものつくり大学非常勤講師~現在
2009年10月同社代表退任/退社
2010年1月ソフトキューブ(株)入社~現在(技術顧問)
2017年4月湘南工科大学非常勤講師~現在


[業界団体・学会活動]
電気学会・第三期次世代インタラクティブディスプレイ協同研究委員会(幹事)/最先端表現技術利用推進協会・アカデミック部会(旧:三次元映像のフォーラム)(副部会長)/日本バーチャルリアリティ学会ハプティクス研究委員会(委員)/ACM(Professional Member)/情報処理学会(正会員、CVIM会員)/3Dコンソーシアム(賛助会員)/3DBiz研究会(個人賛助会員)/URCF(特別会員)

----------------

前職:立体映像産業推進協議会(幹事)/日本バーチャルリアリティ学会・論文委員会(委員)


[資格]
TOEIC805点
数学検定1級(数理技能)
中型・普自二免許
サッカー4級審判員

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード