「プログラミングに興味のある医療従事者が結構多いので、自分がどのようにして学習してきたかをまとめておき…」ラドリー👁眼形成外科医のスレッド

2001,3942022-07-05 08:14:59

プログラミングに興味のある医療従事者が結構多いので、自分がどのようにして学習してきたかをまとめておきます。3年半の軌跡です。ちなみに高額なプログラミングスクールを薦めることはありませんのでご安心下さい(そもそも通ったことない) (▶︎続く)

2022-07-05 08:14:59

現在の状態(after) •学会肝入りのプロジェクトで、画像収集のためのiPhoneアプリ開発を担当 •Deep learningの分野で科研費とAMEDの予算を獲得 •職場や外部の先生方と共同研究が多数立ち上がり、プロジェクト進行中 •プログラミングに興味のある後輩や友人もちらほら出てきたので面白いことしたい

2022-07-05 08:39:35

医療従事者がプログラミングを学ぶメリット •ちょっとしたクリニカルクエスチョンを自力で解決できる解析手段が手に入る •面倒な統計データ解析やPC入力が、一度スクリプトを組んでしまえばワンタッチでできる •周りにできる人が少ないので、結構頼りにされる

2022-07-05 08:44:54

プログラミングによりサクッと課題を解決した例 •眼内レンズA定数のキャリブレーション •Webに数百例分のデータを手入力するためには30時間ぐらいかかるし、入力ミスがあると患者の予後にも影響する •プログラミングにより入力を自動化すると超喜ばれた。 •時給1000円×30時間=3万円分の価値提供

2022-07-05 08:52:49

プログラミング学習前(before) •苦手なwet実験で全く結果が出ませんでした •研究におけるサプスペが無いため予算も取れず、職場では肩身の狭い思いをしてました •臨床で気になることを解析しようと思っても解析方法がわからずにあきらめていました (▶︎続く)

2022-07-05 08:54:31

プログラミングとの出会い •視覚の研究を先生が、指標を出したり動かしたり、ボタンと連動させたりする装置を自作していた •どうやってるのか聞くとPythonとラズベリーパイを使っていると教えてくれた •当時はバイソンって何?美味しいの?(→パイソンです)という感じでした🦬 (▶︎続く)

2022-07-05 09:01:51

彼の指導で最初に作ったPythonのスクリプトは、「パソコンのwebカメラの画像を表示させる」でした。作ったというより単なるコピペですが、行の左端を揃えるルールがあることを知らず何度も教えてもらいながら完成させました。 実際に動かしてみて、「これがコピペでできるって凄い!」と思いました

2022-07-05 09:07:28

「Pythonをどうやって勉強すればいいですか?」と聞いたら、「Pythonスタートブック」という本を頂きました。しかしPythonのバージョン変更により本の通りに入力してもスクリプトが動かず、秒で挫折しました。 (▶︎続く) https://t.co/MmnKWgOhZ5

2022-07-05 09:22:21

【書籍でプログラミングを学ぶ際の注意点】 •プログラミング言語は逐次バージョンアップしており古い本だと参考にならない場合があります。最新版を買いましょう •誤字脱字により、そのまま入力してもプログラムが動かないような本もあります。挫折の原因になるので、口コミで確認して回避しましょう

2022-07-05 09:25:58

プログラミングを再開したきっかけ •本で頓挫して以降、半年ぐらい何もしていなかった •Googleの提唱する「AIの民主化」のニュースを見て、素人でもAIを使えるようになる時代が迫っていることを認識した さらに(▶︎続く) https://t.co/QCtMwrPck2

2022-07-05 09:35:11

しかも、 •Google検索で「犬と猫をdeep learningで分類してみた」みたいなコピペで動くスクリプトがちらほら出てくる •大学卒後5年〜10年の研究者がものすごいAIを開発して重鎮に居座ってたりする このようなことから、数年やれば普通にできるようになるでしょ、と確信(勘違い?)に至りました😇

2022-07-05 09:57:04

同時期に、病院の電子カルテから眼位写真のデータセットを手に入れられるようになりました。 犬と猫が分類できるなら、まぶたの病気も分類できるよね、と思ったのがスタート地点です。 実際にNatureに載ってた希少な遺伝子疾患を分類するAIが社会実装されたところでした💻。 https://t.co/zaQCZkHg9z

2022-07-05 10:10:07

【Deep learningの勉強におススメの本】 最初に購入したのは「つくりながら学ぶ! PyTorchによる発展ディープラーニング」でした。 深層学習のフレームワークには、Googleが開発したTensorflowと、Facebookグループで開発されたPytorchがあり、伸びがある後者を選択しました https://t.co/Qcrxi8Qaf4

2022-07-05 10:15:12

「発展Pytorch」の良いところは、何よりコードの説明がわかりやすいところです。これを一度写経して動かしてから、webに落ちているコードと見比べることにより理解が深まりました。ちなみに1章の画像分類&転移学習のとこまでです。2章以降は難解すぎて訳わかりませんでした🤔

2022-07-05 10:21:55

【Deep learningの勉強にオススメの本2】 ゼロから作るDeep learningは名著です。口コミ数が全てを物語っていますね。何が良いかというと、最低限のPythonの知識が殆どなくても深層学習が何かを理解できるように書かれていることです。 この2冊があれば次は実践でOKですが… https://t.co/BEa6vF2eXj

2022-07-05 10:34:23

もう一つ、機械学習の勉強に超有用だったのは、courseraの「機械学習」。機械学習の本質を理解するためには絶対これをやっておいた方が良いです。パラメータの調整とか自分でできるようになります(課題をしないと先に進めないですが答えはググれば出てくるので大丈夫) https://t.co/7wH6TjAMBx

2022-07-05 10:52:30

勉強する上で、Pythonの知識の無さがボトルネックになるので、web learningで補強しました。 例えばprogate。月額1000円程度で一通り学習できます。但し完走を目標にすると折れます。書籍に書いてあるコードが解読できる程度になったらサクッと辞めて良いです。 https://t.co/HY3RKuvj40

2022-07-05 11:02:04

じゃあその後Pythonの勉強をどうするのかという話ですが、Google検索できればOK。ググって出てきたコードを改変し、パーツを組み合わせてスクリプトを作る。プロのエンジニアでも同じです。 これがプログラミングの「勉強」を頑張りすぎてはいけない理由。リソースは課題解決のために使いましょう。

2022-07-05 11:14:04

pythonの勉強に役立った教材をもう一つ。酒井潤氏の「現役シリコンバレーエンジニアが教えるPython3入門+〜」という教材です。Udemyという動画プラットフォームです。価格が2万円超えてますが、頻繁にキャンペーンで2000円ぐらいになっているので安値で購入しました。 https://t.co/NSEoooO2bg

2022-07-06 06:57:47

「現役シリコンバレー〜」の良かったところは、 ・それまでチンプンカンプンだったオブジェクト指向をやっと理解できた ・「綺麗なコードの書き方」を学べた(できてないけど) ことです。後半は難解過ぎて理解できませんでしたが、前半だけで現時点の課題は十分に解決したので、十分に満足でした。

2022-07-06 07:04:29

プログラミングの勉強を開始して半年でできるようになったこと •Deep learningによる画像分類+転移学習をコピペで回せるようになった •それを自前のデータセットに応用できるようになった 夢中でやっていましたが、見返してみるとこれぐらい。学生にやり方を教えると1ヶ月でできるレベル😂

2022-07-06 07:15:51

収穫は、以前から興味あった「治療の必要な甲状腺眼症の早期発見」をAIにより実現できる目処が立ったこと。実は前年に同じテーマで科研費に出していたのですが「実現性がない」と却下されていました。 科研費を獲得する戦略として… (▶︎続く)

2022-07-06 07:20:36

科研費獲得の決め手は「虎の威」です。 •大学内でAI開発に強い部門との共同研究にしました •日本甲状腺学会総会に出向き、甲状腺眼症の受診者が日本一多いオリンピア眼科病院と提携しました •院内に6万枚以上のデータセットがあることを記載しました 失敗しようのない布陣で初の科研費を獲得👍

2022-07-06 07:28:28

獲得した科研費で早速購入したもの Thinkpad p53→高速なGPUを搭載したノートパソコンです。Deep learning用に。 MakbookPro16インチ→画像収集用のiphoneアプリ製作用。 合計100万円以上の贅沢なお買い物。処理速度が早い!パワポがなかなか開かないパソコンにはもう戻れません🥺🥺

2022-07-06 07:37:05

Pythonのローカル環境構築には苦労しました。仮想環境とかdockerとか理解不能…。ネット検索しながらやるのですが、1日中試行錯誤してもうまくいかないことがしばしば。 結局、1年半ぐらいは環境構築をサボったままGoogle colabでスクリプトを回していました。

2022-07-06 07:41:05

Google colabはグーグル社が提供しているエディタです。便利なのは全てがクラウド上で簡潔しており何もダウンロードする必要がないこと。それでいてGPUも使えるのでdeep learningも試行できます。Pythonを始めてみようと思う人は、取り敢えずこれを用いてサンプルスクリプトを動かすのがお勧めです

2022-07-06 07:46:22

壁にぶち当たったのは、「モデルの形状のいじり方がわからない」でした。例えば画像だけでなく年齢や性別も入力に加えたい場合にどうすればいいのか?これは解説するブログが見つかったことにより解決しました。先人に感謝! https://t.co/3YQX6kZVLU

2022-07-06 07:52:42

効率の良いプログラミング勉強法 サンプルを動かしてみる→このようにアレンジしたい→ググる→解決策が見つかる→書き換えて動くことを確認 すなわち「アレンジしたい」ことがたくさんある、すなわちプログラミングにより解決したい現実の課題があることが、上達の近道だと思います💻

2022-07-06 07:55:55

少し話戻りますが、Google colabを使う上で、GitHubの使い方は勉強しておいた方が良いです。作成したコードを保存できるので、後で「ここどうするんだったっけ?」というときに参照できます。 「Google colab✖️GitHub✖️連携」で調べてみてください。

2022-07-06 08:00:42

次は「画像収集用のiphoneアプリ開発」です。iphoneアプリはMACでしか作れません。そのために購入したMacBookProです。しかし作る方法は全くわからない🤔🤔。ググりながら取り敢えずXcodeをダウンロード。カメラのサンプルコードを走らせると、意外に動く📱

2022-07-06 08:06:47

困ったのはユーザーインターフェイスの整え方です。ちょうどSwiftの言語の形式がSwiftUIに移行したところだったので、webにも殆ど情報がない。途方に暮れていたところで救いの手が!(▶︎続く)

2022-07-06 08:10:15

救いの手=学生のO君でした。AIに興味があると言って眼科に研究室配属で来た彼。大学時代はパソコン部、今は脳外科で脳波を解析するアルバイトをしているという強者。彼に相談したら、ヒョイヒョイとiPhoneカメラアプリを作ってくれました。彼がいなければまだアプリが出来ていなかったと思う。。

2022-07-06 08:15:54

iphoneアプリの原型が出来上がったちょうどその頃、眼科AI学会のプロジェクトで写真撮影のアプリを探しているという話が来ました。iphone13proの接写モードを用いて角膜を撮影し、AIに分類させるという話です。 (上司が話を持って行ってくれたのだと思います) で、webミーティングに参加することに。

2022-07-06 08:25:27

結論を言うと、プロジェクトでアプリ担当の座を獲得しました。 決め手は、角膜収集用のサンプルアプリを作ってプレゼンしたことです(O君に作ってもらったアプリのタイトルを変えただけ🤫)。 打ち上げ時に聞いたら「サンプル見てこれはいいと思った」と仰っていたので間違いないです。

2022-07-06 08:30:00

iphoneアプリ開発の役割は決まったのですが、困りました。O君の実習期間が終了したせいで他力本願出来なくなったからです。時々メールで聞くことは出来ましたが国試で忙しそうなので、続きは自力でやることを決意しました。

2022-07-06 08:32:27

まずやったのは、O君が書いたアプリのスクリプトを紙にプリントしたことです。わからないことが有ればGoogleで検索する、それでもわからなければO君に聞くということを繰り返しました。これにより、異国語のように見えていたSwiftが少しずつわかってきました。

2022-07-06 08:34:53

Swiftで新しく行った実装 •カメラのピント合わない問題の解決 •フラッシュをデフォルトに選択 •動画撮影 •画像や情報を後からアップロードする機能 •すでに保存した情報の読み出しと変更 収集する人の手間を減らすよう、UIの調整に最も注力しました。

2022-07-06 08:41:09

ちなみにiphoneアプリの改造は、ほとんどグーグル検索で解決できました。保存した画像の呼び出しのところが分からず本を1冊書いましたが2ページぐらいしか使いませんでした😂。 O君に話を聞いて分かった「デキるプログラマーが行っていること」とは… (▶︎続く)

2022-07-06 08:46:53

出来るプログラマーがしている事、それは「公式のリファレンスを利用する」。Apple developerとかGitHubに載っているものを指します。 ググッて出てくる2次情報の方が理解はしやすいですが、網羅されていないものがあると詰みます。公式を参照する癖をつけることにより出来る幅が広がってきました。

2022-07-06 10:48:44

出来上がったアプリをどのようにして配布するか?これも考える必要があります。具体的にはGoogleが提供するFirebase App Distributionというサービスを用いました。これを使えば無料でテスト配布ができます。細かいトラブルは色々と起きますが、急いでググって返信することにより切り抜けました✉️

2022-07-06 20:40:52

携わらせて頂いた角膜画像収集のプロジェクト、コアメンバーが超活発でした。「こんなことできますか?」→「やってみます!」→(3日位頑張る)→「できました!」→(5分後)「確認しました、いいですね!!」→(繰り返し) まさにアジャイル開発というやつですね。レスポンスがいいとモチベ上がります😇

2022-07-06 20:41:30

タイムスケジュールは、11月に本格的に開発開始→2月に多施設で画像収集開始→3月末に解析施設へ→4月の学会で結果報告、という感じでした。過密なながらこなすことが出来たのは、期限に遅れられないというプレッシャーのお陰です。舵取り役のU先生はじめコアメンバーには大変助けられました。

2022-07-06 20:47:58

心掛けてきたのは、「実績として残る仕事をしよう」ということです。アカデミアとしては論文が1番ですが、プログラミングについては「多施設研究で使われたアプリを開発した」というのも大きな成果です。もう1つ、実績になりそうなものとして取り組んだのは…(▶︎続く)

2022-07-06 20:54:22

取り組んだのは学会のAIコンペです。日本眼科AI学会で「眼底写真からAIで年齢を推定する」コンテストが行われていたので、挑戦することに。Pytorchで画像を2値分類するスクリプトは今までの研究で作っていたので、出力を1次元にすることによりモデルの原型がすぐに出来上がりました。

2022-07-06 21:01:10

さらに精度をどのように向上させるか?!世界的に行われている機械学習コンペであるKaggleでよく用いられる方法を検索した結果、複数のモデルで得られた結果をアンサンブル学習させることとしました。XGBoostとかランダムフォレストとかそんな感じです。

2022-07-06 21:07:54

画像をそのまま学習させても良かったのですが、視神経乳頭、黄斑部、血管と切り分けておいて年齢推定モデルを作成し、それを組み合わせるという方法をとりました。画像処理方法やパラメータを微調整して学習を繰り返し、締切1か月前からはコンピュータを回しっぱなしの毎日でした。

2022-07-06 21:14:57

AIコンペの結果発表は、東京の学会会場で行われました。3位→AIソフトウェア企業のチーム。2位→慶応のスタートアップのチーム。やっぱ専門のチームは強いなと思っていたら、1位は何と、眼科開業医の先生でした。びっくり😳😳。やはり情熱に勝るものは無い!

2022-07-06 21:19:43

ちなみに私は10位だったみたいですが、眼底を部分毎に解析する方法を評価され審査員特別賞を拝受しました😇!そのまま画像突っ込んで良かったんかい、と思いました。あと、同じ患者の推定年齢を平均して誤差を減らすなどのチートをしていれば結果はもう少し良かったはず。次回はガチでトップを狙います

2022-07-06 21:26:44

実績ができると、共同研究の話が入るようになってきます。1つは〇〇の鑑別。保健学科の学生さんの卒論になりました。本論文は今書いているところなので、詳細はアクセプトされた後に…。 あと、未熟児網膜症を撮影すれスマホカメラのアプリを作ったり、角膜の次は腫瘍のプロジェクトに入れて頂いたり。

2022-07-06 21:33:38

プログラミングの凄いところは、出来たプロダクトを横滑りさせて複数のプロダクトが一瞬で完成するところですね! 角膜画像収集 腫瘍動画収集 甲状腺眼症アンケート 未熟児網膜症の眼底撮影 これ全部、小改変でできます(雛形の原型を作ったのは学生のO君ですが🥺🥺) 面倒臭がりなのでこういうとこ好き

2022-07-06 21:44:27

時系列が現在に近づいてきたので、そろそろまとめに入ろうと思います。 ちなみに先に言っておくと、本業は手術と論文なので、プログラミングの勉強は片手間でした。なので誰でもこれぐらいは出来るはず。 なぜ勉強が捗らないかというと、「必要性に迫られていないだけ」だと思います。

2022-07-06 22:11:04

自分の場合、プログラミング学習におけるセンターピンは「直属の上司」でした。ここで初めて登場させるのですが、科研費の書類の指導、iPhoneアプリのプロジェクトに推挙してくれるなど、数々の仕事(必要性)をもたらしてくれました。自力ではチャンスが得られなかっただろうことは間違いないです。

2022-07-06 22:18:08

「自分に期待してくれる人」に対してしっかりと報連相をして結果を出していくと、そこを起点として更に「自分に期待してくれる人」が現れます。以後その繰り返し。プロジェクトが動き始めると、周囲のプレッシャーは最高の学習環境になります。

2022-07-06 22:29:21

【実績がないのに仕事を獲得できた理由】 ①虎の威を借ることが出来た ネームバリューのある施設とのコラボ、上司の推挙 ②先出しのサンプル スマホアプリのサンプルを見てもらうことで、これなら目的達成できそうと思ってもらえた ③レスポンス 早く返事するとみんながやる気出ていいサイクルに入る

2022-07-06 22:40:01

【自分の中でのプログラミング学習ロードマップ】 1⃣ネットのコピペでスクリプトを動かしてみる 2️⃣コピペを組み合わせて自分の作りたいものを作る 3️⃣GitHubのスクリプトを写経してアレンジできるようになる 4️⃣論文だけ見て実装 今は3ぐらいのところ。4はまだまだ敷居高い。

2022-07-06 22:53:30

【お世話になったサイト】 AI-scholarは、通勤中の電車内でずっと読んでました。最新のAIのモデルが詳細に解説されています。ここの記事のキーワードをGitHubあるいはwebで検索することにより、それを実装できます。最近よく使うEfficientNetやRepVGGはこのサイトで見たのが最初と思います。

2022-07-06 23:05:58
シェア

眼形成外科医です。眼科専門医、医学博士。 もともと神経眼科医🧠→眼窩腫瘍や甲状腺眼症を最後まで治療できるようになりたい→愛知で眼形成の修行→現在大阪で活動中🏥。眼瞼下垂やさかまつげ、顔面神経麻痺の再建から、眼瞼悪性腫瘍、眼窩腫瘍、眼窩減圧術、ブローアウト骨折、涙囊鼻腔吻合術まで全部やってます。

ツイノートは、Twitterのスレッドをまとめるサービスです。まとめたいスレッドの最後のスレッドに「@twinotes まとめて」と返信するとまとめが作成されます

関連するスレッド

Tetsuro Miyatake @tmiyatake1
261082022-03-12 11:05:18

一時期$110Bの時価総額だったBaiduが何故落ちたのか? 投資領域のミス、イノベーションを続けなかったこと、そして外部環境の変化とByteDanceの登場が理由。 詳細は以下スレッドにて↓ https://t.co/1n0J9gM9wi

Tetsuo Sakaguchi @tsaka1
002022-05-10 23:38:36

去年の12月か。。。私はまだ別の授業でジタバタして検証してないけど、同僚が authtoken が必要になったと言ってたからなぁ。さてどうするか。 RT: Colab: Unable to access webpage using flask-ngrok · Issue #28 · gstaff/flask-ngrok · GitHub https://t.co/VXWFXU7TkV

今日の爆弾はこれです。なぜ佐々木がサブスク事業に本気なのか? その一側面をお伝えします。これだけでサブスクやりたくなるんじゃないかな。 まずこの画像は保存必須です。 保存しない方はもう見込みないのでお帰りください。 それではツリーで続きを解説します。少しお待ちを。

黒木玄 Gen Kuroki @genkuroki
221012022-04-01 13:35:06

#統計 https://t.co/eoKrk67JZ7 「仮説検定とP値の誤解」佐藤俊哉 現実への統計学の適切な応用の仕方の理解に繋がる重要事項は、以下に添付画像の形式で引用した「誤解」です。 動画を視聴するときには、このことの理解につながる具体的な事柄に意識を集中するべきです。 https://t.co/meMVVuY6pr

FUKEP2 @FUKEP2
002020-06-18 15:54:00

つぶやく場所を変えて続行します 今までやりたい放題の悪事を重ね 司法のブラック化を推し進めようとして 検察を心の底から怒らせた逮捕劇 検察側は予定通り進めていきます DSが元気だった去年までとは異なります 日本から手を放した様子がうかがえます ꧃இண ௵ୌ x҉ 「見えない幻」検索方法-109

to the better future @FUKEP3
002019-12-17 03:47:27

莨を嫌い、消毒剤を好み、毎日密室でお風呂に入る、清潔好きなおばさま方や娘さん息子さんは 将来、肺気腫になって鼻にチューブを突っ込んだ姿で過ごすことになります 私は酸素ボンベを引きずって歩くのは嫌なので 無添加莨を好み消毒剤を嫌い、風呂の窓は開けてます https://t.co/JjVs3DO7bU 305

to the better future @FUKEP3
012019-10-26 10:52:40

隠されたもう一つの意図-49 「芸術の一つの側面は真実以上に真実に近いもの」 優れた絵画がそうであるように 優れた映画には無駄なものがありません 全ての場面が有機的なつながりを持ち ある結論へと導くことに使われているようです 二つ目はこの完成度 三つ目にもっとも重要な要素があります

#第73回獣医師国家試験 まで約10ヶ月半 今年の国試対策ツイは、こちらのツリーを辿って読んでいってもらえたらと思います。 まずは国試自体を解体・分析、 次に頻出の項目を例題にアウトプットの訓練、 たまに精神的に励ましたりします。 いきますよ。ついてきてくださいね。 #獣医師国家試験

FUKEP2 @FUKEP2
572021-11-03 06:37:44

珍を拒否し続けている人たちは、珍した人々が3年後どうなっているかわからない状況に備え、体力を温存していることになります。7割の人たちが倒れた場合、そのあと、残されたもので地域を守らなければなりません 今白い目で見られたとしても、その時が来たら、積極的に「あなたや誰かを守るために」

to the better future @FUKEP3
282019-05-21 10:24:31

新スレッド 幻の共有を可能にする方法-1 「幻」は、見える人には見えて、見えない人には見えません 解りやすい例 イサムノグチの作品の良さを感じることができる人はビンビン感じ、展覧会などで他の鑑賞者などとそれを共有できます 理解から入るのは不可能なようです 感じるにはどうしたらいいのか

to the better future @FUKEP3
032019-10-15 23:36:58

スレッド内に@を入れたらずっと返信になってしまうようなので、ご迷惑にならないようにスレッドを変えます。 隠されたもう一つの意図-1 マスコミに流されるインタビュー映像の被災者はいつも必ず今後の生活を憂う人ばかり 金持ちは避難所に居ない そして、ホームレスは排除 何か魂胆を感じます

日本におけるマスク 1879(明治12)年 いわしや松本市左衛門「呼吸器広告」 (北多摩薬剤師会〔平井有〕) https://t.co/newvlBmPTY

スコットランドとウェールズと北アイルランドは、なんちゃってロックダウン54日め。 イングランドは非公式ロックダウン緩和から10日め、公式緩和4日め。緩和の根拠の一つは「R 再生産率」が0.5〜0.7になったからだったんだけど夕べ1.0を超えた模様。 緩和プラン見直す? それとも、Rの重視をやめる? https://t.co/KmYo96LFmx