渋谷で働くSEのブログ

渋谷で働くSEのお粗末なブログです

研究の進捗

ずっと前からSan JuanitoとTobasの位相的構造について研究しています。

今はまずデータをとる段階で、曲の主旋律を全部csvファイルに打ち込んでいます。

5,6曲ぐらいやると眠くなります。

という感じなので、なかなか研究が進まないんですね。

それを毎日続けています。

続けていればいずれ終わるだろう、と。

 

なんかこれ…

仕事から帰ってきてまた仕事してるようなもんですが…

何人かでわけて作業したいな、と思ったり…

聞き慣れてない曲の採譜なんか苦痛だったり…

 

でもやっぱり始めたからには、結果が見たいもんです。

 

これからも頑張りますんで👊✨

be possessed with - この記事は備忘録です

In this cartoon, a boy found a Go board in his grandparents' house, and he was possessed with a ghost in the board.

The name of ghost was Sai, and he was a go instructor in ancient Palace.

What is this cartoon?

 

はい、ヒカルの碁です。

ここで出てくる、'be possessed with'ですが、これは「悪霊にとりつかれる」という意味だそうです。

 

今日の英会話ミートアップでこれがなかなか思い出せなかったので、ちょっと悔しくなって辞書を引いてみました。

 

あ、そういえばそうだったな。難しい単語でもなかったのに…

 

私はバイリンガルではありますが、両方とも漢字文化圏の言語なので、英語的な発想はとても難しいです。

でもゆっくりやっていきます。

目標は、少なくとも5か国語がしゃべれるようになることです。

ではまたー

テクニカルライティング!

f:id:kyosuu1:20161204194418j:image

工業英検は終わりましたが、まだ技術英語の勉強は続けたいと思ったので、こちらの本を買いました。

 

今ちょうど次の論文を準備しています。

仕事しながらですので、そこまで時間がかけれるわけではありませんが。

 

博士時代は自力でまともに論文がかけなくて(数学的な問題ではなく、英語的な問題)悔しい思いをしていたものです。

 

やっぱり次の論文は自力で書きたいので、もっと頑張りたいです。

 

たぶん夏休みから(かな?)ずっとSan JuanitoとTobasの研究をしていますが、何らかの優意味なデータがとれたらいいな…と思っています。

 

英語の話のつもりがいつの間にTDAの話に…

 

「作文中心の期間」も、もう2/3が過ぎてます。

あと4ヶ月となっているわけですが、

その4ヶ月間はテクニカルライティングのスキルを固めておきたいですね。

 

来年度はリスニング・スピーキングのフェーズです。

リスニングがなぜライティングのあとかというと、卓上で文字ベースで覚えた単語がなければ、いくら聞いたって延々と英語が聞き取れなくなるからです。

 

外国語は、まず文字で覚えなきゃ耳では絶対聞き取れません。

文字、文法などが要らないといっている人がいますが、それは違うと思います。

「聞いて初めて知る」範囲は非常に狭いです。

 

ということで、しばらくはライティング頑張ります。

わくわく、楽しみ。

中南米音楽の形を見てみたい(3)まずは論文の再現実験から

f:id:kyosuu1:20161202125428p:plainえーと、えーと…
論文の読み間違いで、再現実験に苦戦していました。

実はですね…
このシリーズの(2)で紹介した距離なんですが、
私が紹介した距離は「chord class distance」というもので、
コード間の距離を測るものだそうです。

メロディの距離を測るなら、
足し合わせでいいとのこと。

つまり、f = (f_1,\,f_2,\,\cdots,\,f_n),\,g = (g_1,\,g_2,\,\cdots,\,g_n)について、
 d_{PC}(f,\,g) = \displaystyle\sum _{i=1} ^{n} d_{PC} (f_i,\,\sigma(g_i)),
ということですね。大変失礼いたしました。

それを踏まえて…
今回はいよいよ再現実験です!

まずは「Abbott's Bromley Horn Dance」からです。
こんな曲なんですって。


f:id:kyosuu1:20161201001146p:plain

なんか無印良品っぽいな…と思いながら楽譜を見つめました。

それでですね…
再現実験はRでやろうと思います!
Rで、TDA計算ライブラリのDionysusを用いて計算をします。

Rでは、ユークリッド距離はもちろん、任意の距離行列からもpersistentの計算ができます。
こうやります。

>> library(TDA)
>> rips<-ripsDiag(X, maxdimension = 2, maxscale = 1, dist = "euclidean", library = "GUDHI", location = FALSE, printProgress = FALSE)
>> plot(rips$diagram, barcode = TRUE)
説明です
  • X: 行列です。point cloud もしくは距離行列です。
    • Xがpoint cloudの場合、d次元の点がn個あるなら、n \times d行列を入れます。
    • Xが距離行列の場合は、行列(d(x_i, x_j))_{ij}(つまり、点x_iと点x_jとの距離d(x_i, x_j)を成分として持つ行列。距離の定義より、これは対称行列となる)
  • maxdimension: 文字通り最大次元。persistentを求めたい最大の次元です。
  • maxscale: Rips diagram作成時の、円の最大半径のことです。
  • dist: 距離を指定します。defaultは"euclidean"です。任意の距離空間を使う場合は"arbitrary"と指定します。
  • library: 使うライブラリです。
    • GUDHI, PHAT, Dionysusの3種類があります。
    • 距離行列を使う場合はDionysusのみ使えます。
    • 任意の距離を使う場合、ライブラリが指定しないか、指定が間違っていれば自動的にDionysusを呼び出して計算してくれます。
  • location: TRUEになっていると、birth pointとdeath pointを返してくれます。
  • progress: TRUEにすると、計算がどのぐらい進んでいるかを示してくれます。これをつけておくと、待ち時間もちょい楽しくなります。


我々が使う距離はユークリッド距離ではありません。
メロディの場合、各音の周波数にlog_2をとってその差を求めていました。
それは、ちょうど1オクターブが2倍となっているからだと言っていましたね。

ということで、Rでpersistent homologyを計算するには、距離空間が必要となります。

それで、「楽譜」から距離行列が出力できるソースコード
github.com
を書いておきました。

まだgithub側の説明はチョーテキトーです;;すみません。

使い方は以下のようになります。

python distance_matrix.py --dim 2 --cc 0 input.csv output.csv
コードの説明
  • python: このコードはpython3でのみ動きます。python2.xがdefaultの場合は、必ずpython3にしてください。
  • --dim: メロディのtupleの次元です。連続したメロディを何個まで見たいかという指定です。指定できる数字は1から3です。
  • --cc: chord class distanceを求めたいとき指定します。
    • 0だとchord class distanceを求めてくれます。
    • 次元が2か3の場合のみ有効です。
    • 何も入力しなければ、pitch class distanceで計算してくれます。
  • input.csvの形式: 音階を小文字で書いた、n行1列の文書です。

各音階の名前は、次の楽譜の青文字ように入れます。
f:id:kyosuu1:20161202125428p:plain
githubにサンプルを上げておきましたので、参考にしてください。

それでですね…
いよいよ距離行列も作れたわけです。

その距離行列をRに入れて、persistent図を描くなら次のようにします。

>> library(TDA)
>> dist_mat<-read.csv("path/to/your/input.csv", header=F)
>> rips<-ripsDiag(X=dist_mat, maxdimension = 2, maxscale = 1, dist = "arbitrary", library = "Dionysus", printProgress = TRUE)
>> plot(rips$diagram, barcode = TRUE)

私が読んだ論文では3次元まで計算していますが、Rだと3次元で計算させた途端落ちてしまいます…
というわけで次元は低めに設定していますT_T

でやってみますと…

f:id:kyosuu1:20161203003423p:plain

ほお、論文の

f:id:kyosuu1:20161203000444p:plain

これと似てますね。おおっ、これいけそうじゃん♪

そこで3次元もやってみるわけですね。

f:id:kyosuu1:20161203003459p:plain

これがRの結果で、

f:id:kyosuu1:20161203000448p:plain

こちらはJavaplexの結果です。

DionysusとJavaplexの出力方式が結構違っていて(dionysusは低い次元が下に、javaplexは上にあったり、javaplexは長さごとにちゃんと整理されていたり)違うように見えるかもしれませんが、
よくよく比べてみるとわりと似てます^^

しかし、RでDionysusを動かしていると、次元を3にした途端落ちます。
これじゃ…ちょっと使えないですね。

とりあえずは、評価版のmathematicaにjavaplexを入れて使えたりはしますが、
これも評価版なので期限があります。

やっぱjavaで書いたほうがよさそうですね。

今日は長々と失礼しました^^

低コストで英語学習、その結果は?

教材費と各種試験の受験料だけで英語を勉強しています。

読解の勉強のために、Japan Timesを購読しています。

通勤電車の中で、少ない日は1本(長めのやつ)、多い日は3本ぐらい読んでいます。

 

今年は、「文字ベースの勉強」に集中する年と定めたので、リスニング・スピーキングの勉強はまったくしておりません。

 

今年は単語の暗記やライティングに重みを置いて勉強を進めております。

 

最初は、翻訳の教材から始めました。

発想転換で表す和文英訳ビギナーズブック

発想転換で表す和文英訳ビギナーズブック

 

これは、1文についてもいろんな翻訳を紹介してくれている、なかなか優れた教材です。

 

そして、これを一読してからは難関大受験のための『ユメサク』を4ヶ月ぐらい?(ほぼ半年?)かけてやりました。

この本は、「英語的な考え方」を教えてくれる本です。

生の日本語から直に訳さず、まず英語風に訳してから英語に直すようになっています。

やっていくうちにだんだんパターンが見えてきて、一読してからは英語に自信がつくようになりました。

この本のおかげで、自分の仕事の紹介とかぐらいなら、簡単な言葉で(まだたどたどしいですが)話せるようになりました。

 

そして、この本が終わってからは工業英検とか、単語帳とか、いろいろ使っているような感じです。

 

それでですね…

今までの成果を測ってみよう、と思い、

11月6日にTOEIC Speaking & Writing試験を受けました。

その結果は…

f:id:kyosuu1:20161126224514p:plain

 

え?見本かと思いました。

私の目標は、スピーキングは80点、ライティングは120点だったからです。

しかし…解説をよくよく読んでみると…

 

f:id:kyosuu1:20161126231946p:plain

「同じ考え方が繰り返されるか、もしくは文法が少し間違っていたりする」

レベルだそうですね。

 

これじゃ…「信頼してもらえる」文を書くにはまだまだものたりないかもしれません。

 

スピーキングに関しては、こんなことが書いてありました。

 

f:id:kyosuu1:20161126232835p:plain

>発音悪い

>たまに文法間違える

>語彙乏しい

 

はい、わかってますわかってます…

「発音」に関しては、シャドイングをしたり、舌の位置や口の形を意識したり、自分の声を録音したりしてみることが大事です。

これは再来年、ある程度英語に慣れてきたら最終的なトリミング?としてやろうと思っています。

 

そして、文法と語彙…

これはお尻の力にひたすら頼るところですね!

きちんと机の前に座って、本を読み、文を書き、市販の単語帳で単語を覚える。

経験だけでは限界があります!

いつもの人とつるんで、いつもの話をするばかり…

では絶対細かいところを伸ばすことはできません。

目指すところは、うわべだけの言語ではなく、

コンテンツと、時がきたらそのコンテンツを少しずつ見せられるだけの「普段は隠れている」能力だと思います。

 

ちなみに、別のサイト↓

ten-navi.com

で見てたら…

 

 私のスピーキングレベルは海外出張レベル、ライティングは海外赴任レベルらしいですね。

 

(数学のレポートすらまともに書けないのが現状ですけどね)

 

まあ、ということで、中間報告でした。

これからは、

>数学や情報系の内容なら人に教えられるぐらいのレベル

>日常生活に困らないレベル

>新聞をほぼ辞書なしで読めるレベル

>アニメぐらいは字幕なしで見れるレベル

 

を目指したいと思います!(^ω^)ゞ

単純作業

人工知能

響きがいいですね。

コンピュータが世界トップレベルの棋士、イ・セドルさんに勝ったとき、世界中が興奮していましたね。

自動運転とかかっこいいですね。

 

ところがですね…

人工知能というのを実現するためには、目や耳が抜けそうになるぐらいの単純作業が必要なんですよ。

人工知能をつくるための材料であるデータをいちいちチェックしないといけないからです。

 

それが画像データなら、ひたすら画像を見て枠をつけたり、フォルダに仕分けをしたりします。

データが音声データであれば、耳が削れそうになるまでひたすら聞いて検証します。

 

集中していると、だんだん目や耳が疲れてきます。

しかし、これはある意味実験室でやっていることとも似ているだろうと思います。

 

私は実験系の出身ではないのでよくわかりませんが、きっと実験室ではデータ収集のためにたくさんの単純作業・雑務を重ねていくだろうと思います。

植物の芽を育てるとか、ひたすら薬品を混ぜて混ぜて結果を待って…とか。

 

単純作業も、かしこいAIをつくるための大事な部分なので、私はこんなどろくさい作業も好きです。

どんなAIができあがるのかな、とワクワクします😍

 

以上、AIの現場便りでした^^

Thanksgiving Day :)

今日は、私が毎週通っている英会話ミートアップでThanksgivingパーティーをしました。

 

ちょうど一昨日まで原因不明のバグに苦心していたんですが、

先輩方が夜中まで頑張ってくれたので、今日はパーティーに参加することができました。

 

美味しいお料理を囲んで、1年間の感謝すべきことを一言ずつ述べました。

 

私の感謝すべきことは…

 

I'm thankful for …

 

というそうですね。

ここで…私の感謝すべきことを軽く英語でのべておきたいと思います。

今日は感謝祭の日ですからね。

天気は寒くてまるでクリスマスのようですが。

 

I am thankful for my work. My work is very exciting and stimulating. I am appreciate of my recent work on data analysis. I could have an opportunity to learn the method called 'topological data analysis' (abbrev. TDA)

I love math and I was eager to study math in my whole life. Many mathematical methods are adopted to programming and data analysis, the fundamental technologies for AI. I really love my work!

 

テキトーな英語ですみません。

喋り言葉はもっともっとひどくてたどたどしいです( *´艸`)

まだ前置詞と冠詞に非常に弱く、しかもいろんなフレーズをまるごと覚えて書いたりしゃべったりするもんですから、まだ時間がかかります。

 

しかし…

これからは英検1級を目指したいので、楽しみつつ、英語も頑張ってきました。

 

本当に先輩方に感謝します!

I would like to say thank you for my seniors!