Posts
あほくさ3
Markdown記法 サンプル集 見出し 1個から6個シャープで見出しを記述する。 ※シャープと見出し文字の間には半角スペースを1つ入れること 記述例 # 見出し1 ## 見出し2 ### 見出し3 #### 見出し4 ##### 見出し5 ###### 見出し6 表示例 見出し1 見出し2 見出し3 見出し4 見出し5 見出し6 箇条書きリスト ハイフン、プラス、アスタリスクのいずれかで箇条書きリストを記述可能。 ※ハイフン、プラス、アスタリスクと箇条書きの項目の間には半角スペースを1つ入れること 記述例 - リスト1 - ネスト リスト1_1 - ネスト リスト1_1_1 - ネスト リスト1_1_2 - ネスト リスト1_2 - リスト2 - リスト3 表示例 リスト1 ネスト リスト1_1 ネスト リスト1_1_1 ネスト リスト1_1_2 ネスト リスト1_2 リスト2 リスト3 番号付きリスト 数値+半角ドットで番号付きリストを記述可能。 番号の内容は何でもいい。実際に表示される際に適切な番号で表示される。 そのため、一般的にはすべて 1. 内容 で記載すると変更に強く楽です。 ※数値+半角ドットと箇条書きの項目の間には半角スペースを1つ入れること 記述例 1. 番号付きリスト1 1.
あほくさ3
aha hugoでサイトを作る go知らなくても作れるよ。aaa ビルド早いよ 数十記事なら、たいして変らない 数千記事書いたら、ありがたみがを感じると思う koi 質問者 k TH TH TD セル内で 改行 宇宙飛行士ちゃん 画像と向きを変えてみる
あほくさ
hugoでサイトを作る go知らなくても作れるよ。 ビルド早いよ 数十記事なら、たいして変らない 数千記事書いたら、ありがたみがを感じると思う optionなし print('ahoxsa') print('oppi') try: print('baka') except: print('failure') optionあり 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 // GetTitleFunc returns a func that can be used to transform a string to // title case. // // The supported styles are // // - "Go" (strings.Title) // - "AP" (see https://www.apstylebook.com/) // - "Chicago" (see https://www.
あほくさ2
hugoでサイトを作る go知らなくても作れるよ。 ビルド早いよ 数十記事なら、たいして変らないあ. 数千記事書いたら、ありがたみがを感じると思う koi kok ksaka
ハッカソンで再び企業賞を獲得した話
ハッカソンで再び賞を獲得 ハッカソンとはITのモノづくり大会のことで,今回出場した大会名はCCC2021である.結果,最終選考まで勝ち残り、企
JavaScriptにおけるCookieの取り扱い方
JavaScriptにおけるCookieの取り扱い方 //読み込み c=document.cookie console.log(c) // cookieが表示される //書き込み /*構造:Name=value;a
高校三年生のときに研究してました
高校三年時の研究成果 詳しくは,AboutMeを見てほしいですが,中学生からもともとAIに興味がありました. 高校三年時に進級した際に本格的にAIを学ぼうと思い,ディープラーニングの基礎であるニューラルネットワークを勉強,研究したところ,ニューラルネットワークの高速化手法を開発し,SSH研究発表(文部科学省主催)という高校生が大学教授の前で自らの研究発表を行う会に選ばれ,発表を行いました. ちなみに,SSHとはSuper Science Highschoolのことで母校はこれの指定を受けておりました. 単独研究で発表まで至ったのは母校で私がはじめてです. これは,在校生徒と招待校あわせ,1000人の前で登壇しました. なお,これらの研究成果は文部科学省に提出しています.(疑義がある方は私の母校へ問い合わせるか,文部科学省に問い合わせてください.) 基礎研究と応用研究 基礎研究は,ニューラルネットワークの高速化です. これは主に一般にいう,プルーニングです. 応用研究は,ニューラルネットワークを応用した歌声から曲を検索するシステムです. フーリエ変換を行い,音階を求め,それをデータとしたシステムです. 今ならもっといいアーキテクチャが思い浮かびます. 研究のスライドはYoutubeに公開しています. 基礎研究編です. 応用研究編です. 余談 この記事を書くには今更すぎますが(執筆時は登壇から3年が経過),インターン面接などでこの件について深堀されるので,記事にまとめました.
Cyber Agentのインターンに参加した話(体験編)
CyberAgentのインターンに参加した話. こんにちは. 大学2年 伊地知(いぢち)です. 先日 CyberAgentの3weeks インターン (サ
【調査中】ArcFaceなどのメトリックラーニング
ArcFaceって ArcFaceは顔認証を行えるメトリックラーニングの構造のこと. ArcFaceは入力されたデータに対して,一人の画像に対するユニークな特徴ベクトルを算出する. 例えばA,B,C,… という人物の画像が一人に対して,複数毎あったとする. Aの画像が入力されたときArcFaceはY_Aのベクトルを算出するよう学習する. 一方,Bの画像が入力されたときもY_Bを算出する. これにより,未知の人物の画像が入力されたときも,人物ごとにユニークなベクトルを算出することによって, ベクトル間のCos類似度を求めることにより,同一人物かを判定することが可能になる. 元論文のarXiv インストール 論文の著者が実装と学習済みの重みを公開している. Mxnetというフレームワークだが,ArcFaceを使うだけなら何も気にすることはない. 実行には $ pip3 install mxnet==1.6.0 が必要である. ただし,GPU環境の場合,cuda==10.2をインストールし, $ pip3 install mxnet-cu102==1.6.0 を実行する. あとは, $ pip3 install -U insightface でインストールは完了. 試す 基本的には,チュートリアルを参考にライブラリを読み解いていく. 自分でも,少し試したので,jupyter notebookを貼っておく. 不明点 論文や解説記事を読んでArcFaceの学習方法は理解したものの,肝心の顔認証データセットの目的変数がわからない.具体的には,ユニークなIDをどうやって,つけているのか.論文中に各データセットの示された人物の数は一定でないから. [追記] 論文をよく見ると,参考文献として, [32] Y. Sun, Y. Chen, X. Wang, and X. Tang. Deep learning face representation by joint identification-verification. In NIPS, 2014. が載っていた. これによるとDeepIDを用いて特徴ベクトルを決定するとある. DeepIDについては,解説記事を発見した. 参考記事 これを用いてDeepIDをつけているのか納得.なお,参考記事はDeepID 1について解説されているが,参考文献はDeepID2について説明されている. おおむねは同じだが,違いは,顔のパーツ位置(face landmark)による畳み込み前の整列や特徴ベクトルを200次元まで拡張した,ネットワークを深くしたなどの違いがある.(詳しく論文見てないけど) 結論 参考文献を読もう.
K近傍法をスクラッチ実装してみる
k近傍法とはなにか クラス分類の機械学習の一種のアルゴリズムのこと. k近傍法は学習させるデータ(クラス属性含めて)一つ一つに対して入力データとの類似度(距離)を求め,類似度が高いデータのクラスを入力データのクラスとする. 手順は すべてのデータに対して類似度を求め,高いものから順にk個データを選ぶ. それらのデータのクラスを多数決で決定し,そのクラスとする. なお,距離はユークリッド距離でもよいし,マハラノビス距離でもよい(らしい) kの値は,線形探索や,交差検証などによって,決定する.(ハイパラメータなので) スクラッチ実装 上記手順を見ればまったく難しくなさそうなので,簡単に実装してみる. import numpy as np ## データとクラス(属性)の構造体替わり class Data: def __init__(self,vec:np.array,spector:str) -> None: self.vec=vec self.spec=spector ## 学習データ A=np.random.randint(0,100,(10)) B=np.random.randint(0,100,(10)) C=np.random.randint(0,100,(10)) D=np.random.randint(0,100,(10)) E=np.random.randint(0,100,(10)) VectorsArray=[Data(A,'A'),Data(B,'B'),Data(C,'A'),Data(D,'B'),Data(E,'A')] ## 類似度(ユークリッド距離)を求める関数 def getDistance(vec:np.array,vec2:np.array): r=np.linalg.norm(vec-vec2,ord=2) return r ''' - K近傍法メインルーチン 引数 vec:入力データ(np.array) VectorsArray:Data構造体のリスト k : 整数 返却値 {str(クラス):count(クラスの数)...} 利用時は,max関数でkeyを指定する. 詳細は__main__()で ''' def getNearVecSpec(vec:np.array,VectorsArray=VectorsArray,k=3) : distance=[] for v in VectorsArray: d=getDistance(vec,v.vec) distance.append((v.spec,d)) distance.sort(key=lambda X: X[1]) print(distance) diss={} for i in range(k): v=distance[i] spec=v[0] if spec in diss: diss[spec]+=1 else: diss[spec]=1 return diss if __name__ == "__main__": a=np.
企業賞とオーディエンス賞GETした
ハッカソンで初めて賞を獲得 ハッカソンとはITのモノづくり大会のことであるが、今回、最終選考まで勝ち残り、企業賞とオーディエンス賞を獲得した。
<AI開発 part2>転移学習によるCNNの学習
なぜつくるのか 日本人に最適化された年齢と性別認識モデルはかなり少なく,たいていは有料またはアジア人全般の顔で学習されたモデルといった汎用的なモデルが多くを占めます. そこで,ディープラーニングの練習ということもあり,日本人のデータセットのみで学習させたモデルを公開します. (追記)内容削除 以前の内容は大人の事情により削除されました。 学会発表などの発表後に実験結果、モデル構造を発表します。 (さらに追記) 学会発表について,コロナ禍であることや,私個人の予定や都合,家庭事情等によって現在未定になりました. よってOSSとしてモデルとそのデモプログラムを公開します. リポジトリはこちら 私の検証範囲では,Microsoftの顔認識サービスよりも日本人の判定において,高い精度を叩き出しました. 嘘だと思った方はぜひ,検証し,報告やIssue,プルリクをお願いいたします. OSSとして公開予定しました。 ロボカップ大会が終了後、自作のAIはオープンソースとしてGitHubに公開する予定公開しました。 また、現在は、顕著性マップ[Grad-Cam]、またはAttention構造を取り入れたモデルの開発を行っている。 これにより、AIはどこを注視して年齢を判定したかが人間が直感的にわかるようになる。 リポジトリはこちら
サークルを作った話。
目的 目的は金稼ぎとコミュニティをつくること。これは、1回生のころ、ディープラーニングを学ぶにあたって、一人ではなかなか、はかどらず、周りに訊くことも誰に訊けば良いのかわからなかったため、サークルをつくることで、疑問が生じたとき、いつでもメンバーが答えてくれるようなコミュニティをつくりたいと考えた。 また、金稼ぎについては、在学中に製品を作り、金を稼ぎたいと考えており、メンバーがいれば、開発が容易になると思ったからである。 現在のメンバー 主に高校の同期と後輩[他大学含む]、同じ学部の同学年や先輩など全員で15人となっている。 大学は大阪工業大学、近畿大学、関関同立から数人といったところである。 また、学部は必ずしも、情報系や理系ではないため、今後面白い発想がでてくるのではないだろうか。 現在の状況 メンバーの中にはまだ、プログラミングができない人が多くいるため、プログラミングを学ぶように周知している。 そのため、AIの学習はあまり進んでいないように思われる。 メンバー募集中 理系でなくても、プログラミングができなくても、興味があれば歓迎しています。 さまざまなバックグラウンドを持った人があつまることで、面白いAIや製品ができると考えています。 社会人なども歓迎しており、サークル内では面倒な集会などはなく、講座も開いていますが、Youtubeにアーカイブしています。 また、匿名での参加もOKです ぜひ、検討してみてください。 入団希望なら idichi.syoya[@]gmail.comまで。 下記はディープラーニング講座の動画。
<AI開発 part 1>日本人のタレントの顔画像と年齢のデータを集める
<追記> 著作権については、研究開発目的であり、許諾なしで利用可能である。 詳しくはリンクで確認してほしい。(https://storialaw
「ieServer」のIPアドレス更新スクリプトを作った
タイトル通り 実家でRaspberry Piをサーバにしている。 グローバルIPは動的なので、DDNSなどのサービスで固定し対策する必要がある。 そ
AIで宝くじを当てる!(今すぐ試せるソースコード付き!!)
ディープラーニングで宝くじ(ロト6) ロト6は1~43の番号を6個選ぶ、くじのことである。 AIに入力するデータは、以前のあたり番号を入力にして
【文系理系必見】仕事を奪う「AI」を4分で解説
ディープラーニングの基礎を4分で解説 本記事は大阪工業大学アドベントカレンダー 12/22枠に投稿するために書かれたものです.詳しくは最後に. 短い自己紹介 名前は伊地知翔也と言います.高校時代からニューラルネットワークを研究し,高速化手法を開発,SSH研究発表に招待され研究成果を発表しました! 詳しくはこちら ほんとに足し算と掛け算だけ? AIが仕事を奪うという流行り言葉はすでに沢山の人が聞いたことがあると思う.しかし,肝心の仕組みはまったく知らない人が多いと感じる. 例えば,AIアシスタント などの仕組みしろうと思えば,深い数学知識が必要になるが,AIのそもそもの原理はいたって単純だ.原理から出発すれば,意外と簡単なことに気づくと思う. では,4分タイマースタート!! 判断を代替するAIを考える ここでは焼肉に誘われたときの判断をAIにさせることを考える. 判断するのに必要な要素 まず,焼肉に誘われたら何を考えるだろうか? お店の質 お店の値段 友好度(誘ってきたメンツ) … など,さまざまな情報の中から判断する. また,その中の情報でも,人によって,どれを優先するかも異なる. (値段を重要視する人もいれば,メンツを重要視する人もいる.) これらを合計して,ある一定の値になれば誘いを受ける(行く)のではないだろうか. これらを数式で落とし込んでみる. まず,判断の元となる情報(条件)を $$ \begin{align} &x_1 \quad(焼肉のお店の質)\\\ &x_2 \quad(お店の値段)\\\ &x_3 \quad(友好度)\\\ &… \quad(他の条件)\\\ &x_n \quad(条件はn個ある) \end{align} $$ 次に優先度(ここから重みと呼ぶことにする)を $$ \begin{align} &w_1\quad (お店の質を重要視する度合い) \\\ &w_2\quad (お店の値段を重要視する度合い) \\\ &w_3 \quad (誘ってきたメンツを重要視する度合い) \\\ &…\quad (他の条件を重要視する度合い) \\\ &w_n \quad (n個目の条件を重要視する度合い) \\\ \end{align} $$ とする.これをかけて足した値(yとする)が判断の値となるので, $$ y=(x_1 \times w_1) + (x_2 \times w_2) + (x_3 \times w_3) +…+(x_n \times w_n) $$ 判断の値一定以上(θとする)になるとき,行く(誘いを受ける)ので,行く時を1 行かない時を0とする. 活性化関数と呼ぶが本記事では名前は気にしなくていい:) $$ \begin{eqnarray} 行く(1)行かない(0) = \begin{cases} 1 & ( y \geqq θ ) \quad yがθ(基準)以上なら行く \\\ 0 & ( y < θ ) \quad yがθ(基準)を下回ったら行かない \end{cases} \end{eqnarray} $$
Jetson NanoにDarknetをインストールする方法
what’s darknet? Darknetとは物体認識系ディープラーニングモデルの一つYoloのC言語実装のこと. ここで,簡単に経緯を話すと,現在,私はロボカッププ
ブログの国際化対応を行った.
英語圏、中国語圏からのアクセス このブログの半数は中国,アメリカ アクセス履歴によれば,IPアドレスは半数がアメリカ,中国経由からアクセスされて
【雑談】動画の紹介
MMD zero杯での動画 まず見ていただきたいのはこの動画. 【MMD杯ZERO2】 PLAY TIME! 【けものフレンズ】 まあ,けものフレンズの二次創作なのだが,非
Posenet-Pythonを使いやすく改良した.
PoseNet-Python改良してみた. What’s PoseNet ? Posenetは画像,ビデオから人の関節位置や目の位置などを座標形式で出してくれる.ディープラーニングモデルのひとつ.既存のOpenPoseは商用利用不可の上,研究室の高性能なPCでも処理負荷が大きすぎる.一方,Posenetはスマホでも動くくらい,軽量なモデルである.しかも商用利用可能.開発元はGoogle. なんでやったのか? 友人が,アニメ制作会社を立ち上げるとか言い出す.けものフレンズ のように3Dモデルアニメを作ると言っていた.その際,3Dモデリングは面倒くさいので,人を雇い,実際にモデルの動きを再現してもらい,それを撮影する. 後に,それをPosenetにかけて,座標位置から3Dモデルに割り当てる. そうすることで,3Dモデリングのポジショニングに時間をかけずに済むということだが,別に面倒くさくなりそうだと思う(本人には言ってない). なにを改良したのか. もとのソースコードは結局座標が知りたいのに,openCVでボーン表示しかできないので,目的を達成できない.よって,少しいじって,座標を簡単に取得できるようにした. あと,入力されるのは動画なので,並列化が必須である. 並列化は報酬の交渉次第だが,PCの限界を引き出すくらいのものにしようと思ってる(思ってるだけ) How to Use? またかく.
ハッカソンに出場した話
ハッカソンに出場した話. なんで? 以前,東京渋谷で開催のBITVALLAYというイベントに参加した際,IT企業の方と知り合った. BITVALLAYでは懇親会が開かれており,企業の人事や他大学生と交流できる機会がある.自由にテーブルを移動でき,席は決まっていない. となりに名古屋大学,名古屋工業大学の3年がいて,ついそこへ移動してしまった.当然企業の人事は私に興味を示さず,移動しても空気だった.しかし,最後に名刺だけはもらいたいと思い,LINE交換と名刺を確保した. 後に,LINEで挨拶しておこうと思い,これまでの経歴や,実績,スキルを伝えるとすぐに返信が返ってきて, ハッカソンなるイベントを開催しているので,ぜひ来てください.と誘われた. (言ってもいいかわからんが,ギブリーという会社. ) チーム結成 ハッカソンというのは,ITを活かしたモノづくりの大会みたいなものである. 応募締切が迫っているらしく,早速,交友のあった,高校の同期2人と大学院一年生の先輩,同じ学科の一年 2人 計6人でチームを結成した. 会場へ行くと,神戸大学やら,大阪大学やら,強そうな人ばかりが集まっており,少々委縮した.そのうえ,大学一年生は我々のチームしかおらず,不安であったし,何よりも,その作るものを決定できていなかったのだ. オワコンプロダクト しかし,何も成果物を出せないのでは,恥の上塗りである.会議を行い,作るプロダクトが決定した. その名もF.M.T. である. 詳細は,GitHubのページを見てほしいのだが,これが酷すぎる.(時間が迫っていて,紹介ページも中国語を日本語に翻訳した感じになってる) 後の講評の時間と,懇親会の時間に企業やら神戸市長(神戸開催)などたくさんの方にプロダクトの感想を訊いたところ, ゴリラが印象的だった – 大手企業人事 発想は良い – 神戸市長 デザインがアフリカにある偽物ブランドっぽい –大手企業エンジニア というような感想ばかりでプログラムの中身に関しては誰も言及しなかった. 大恥をかいたw. 反省 今回の反省はやはり,作るものが当日までに決定できなかったこと,これに尽きる.それに,チームメンバーのスキルを考慮しておらず,ほとんどのコーディングは私1人でしていたことも反省点だ. 来年は入賞したい.
Blog installation completed
completed!! This blog is written in japanese mainly… but I will write english content. Please wait patiently.
ブログ設置完了.
ブログの設置が完了 以前,はてなブログを運用していたが,三日坊主でやめてしまったために,今度こそはと思い,作ってみた.(バイトの面接とか就活のためである) 基本的にはhugoを用いてGitHub Pagesというサーバにファイルを置いている. これの何がいいのかは,サーバ不要というところである. また,ファイルは単なるリポジトリなので,cloneして書いてdeployすれば,どこでも書ける. 今後,研究やら,遊びやらをつづっていきたい.