| key | value |
|---|---|
| 名前 | 山本翔太(Shota YAMAMOTO) |
| 修士 | 早稲田大学基幹理工研究科 情報理工・通信専攻 修士1年(27卒) |
| 学部 | 早稲田大学基幹理工学部 情報理工学科 卒業 |
| ゼミ | 笠井裕之研究室 |
| GitHub | bishopfunc |
| Zenn | bishopfunc |
| key | value |
|---|---|
| 英語 | ビジネレベル |
| 日本語 | ネイティブレベル |
| 中国語 | ネイティブレベル |
| key | value |
|---|---|
| プログラミング 言語 |
Python, Javascript, Typescript, C/C++, Go |
| フレームワーク | Flask, Django, FastAPI, Node.js, React, Nuxt.js, Next.js, Pytorch, ROS 2 |
| データベース | MySQL, PostgreSQL |
| インフラ | Docker, AWS, Terraform |
| 研究分野 | 拡散モデル, 強化学習, タンパク質言語モデル, グラフニューラルネット, ロボット基盤モデル |
| 年月 | 内容 |
|---|---|
| 2021/04 | 早稲田大学基幹理工学部入学 |
| 2021/05 | 株式会社CougerにてQAエンジニアインターンとして勤務。 |
| 2023/07 | 株式会社Cougerを退職。 |
| 2023/07 | 株式会社PKSHA TechnologyにてSWE短期インターンとして勤務。 |
| 2023/08 | 合同会社EXNOA(DMM Games)にてインフラエンジニア短期インターンとして勤務。 |
| 2023/08 | 株式会社日本経済新聞社にてSWE短期インターンとして勤務。 |
| 2023/09 | 産業技術総合研究所 人工知能研究センターにてテクカルスタッフとして勤務。 |
| 2024/04 | 早稲田大学基幹理工学部 笠井研究室にて研究室配属。 |
| 2024/08 | 株式会社EpicAIにて機械学習エンジニアインターンとして勤務。 |
| 2025/03 | 早稲田大学基幹理工学部 卒業 |
| 2025/04 | 早稲田大学基幹理工研究科 入学 |
| 2025/08 | 株式会社Preferred Networksにてリサーチインターンとして勤務。 |
| 2025/10 | 株式会社リクルートにてデータサイエンティストインターンとして勤務。 |
- 2022/03 TCP/IP プロトコルスタック自作開発 KLab Expert Camp に参加し、C++ を用いて TCP/IP プロトコルスタック自作を体験。
- 2022/11 東大の松尾研主催の【世界モデルと知能】講座を受講した。 修了証はこちら。
- 2023/03 「mixi bug shooting challenge #8」 に参加した。
- 2023/03 「ICT トラブルシューティングコンテスト」で早稲田チームとして出場し、8位の成績を残した。順位表はこちら。
- 2021/02 「粘菌を活用した新たな経路探索アルゴリズムに関する研究」〜ダイクストラ法・粘菌アルゴリズム・強化学習の比較検証〜
- 「首都圏オープン 2021(TSEF2021) 」 優等賞
- 「ジュニア農芸化学会 2021」 P13-B 参加賞
- 2023/03「人間的な処理に基づくウェブ操作モデルの検討」
- 【世界モデルと知能】講座の最終課題として執筆。 論文はこちら
- 2024/05「100 台のRaspberry Pi Mouse を制御する ROS ベースの群ロボットシステムの開発」
- 「ロボティクス・メカトロニクス 講演会 2024」 にてポスター発表。ポスターはこちら
- 2025/05「機能性タンパク質の設計のためのPLMによるガイド付き強化学習手法の検討」
- 「人工知能学会全国大会2025」 にて口頭発表。[論文はこちら]https://www.jstage.jst.go.jp/article/pjsai/JSAI2025/0/JSAI2025_2L1OS2503/_article/-char/ja/, 発表資料はこちら
- 2025/02
「The 100 Mouse System: A Scalable Multi-Robot Testbed with State Management User Interface」
- 「Journal of Robotics and Mechatronics」 にて採択。論文はこちら
- 人工的に生物を作る学問「合成生物学」とは?|早稲田大の学生団体がクラウドファンディングで挑戦する、世界大会「iGEM」への道
- ESM3を利用したタンパク質の設計【タンパク質デザイン】
- EvoProtGradを用いたタンパク質のin silico指向性進化【タンパク質デザイン】
- MACEによる機械学習を用いた分子動力学計算【MD simulation】
- PyRosettaによるエネルギー最小化とロゼッタスコアの出力【タンパク質】【In silico創薬】
- 機械学習によるタンパク質の変異設計、In Silicoスクリーニング、分子ドッキング【iGEM-Wasedaプロジェクトレポート】
人類はこれまで、自然界に存在する有用なタンパク質を医療や創薬などの産業に応用してきました。これらのタンパク質の機能を向上させることができれば、応用の可能性はさらに広がります。従来の強化学習を用いた設計手法では、機能性の向上は期待できるものの、生物学的妥当性が十分に保証されないという課題がありました。そこで私は、大量のタンパク質配列データを学習したタンパク質言語モデルの知識を、強化学習の報酬や方策に統合することで、機能性と生物学的妥当性の両立を目指す手法を提案し、JSAI25にて口頭発表を行いました。
従来のフォント生成モデルではラスター画像を対象とし、生成されたフォントを再度人手で修正することが難しいという課題がありました。さらに、実用的なフォント生成には高速な生成や一貫性、少数サンプルでの生成が求められます。そこで私は、上記の要件を満たすようなベクターフォントを直接生成する生成モデルについて研究を取り組んでいます。
合成生物の世界大会 iGEM に早稲田大学代表チーム(Waseda-Tokyo)として出場し、Best Foundational Advance Project Nominee (部門賞ノミネート) と Gold Medal を受賞しました。私はチームにおいて、Nuxt.js によるウェブサイトの実装と数理モデルの構築を担当しました。英語サイト 日本語サイト
合成生物の世界大会 iGEM に早稲田大学代表チーム(Waseda-Tokyo)として出場し、Best Bioremediation Project (部門賞), Best New Composite Part (特別賞), Best Model Nominee (特別賞ノミネート), Best Wiki Nominee (特別賞ノミネート) と Gold Medal を受賞し、約200チーム中のTOP10入りを果たしました。私はチーム内で主に3つの役割を担いました。1つ目はエンジニアとして、Next.js を用いたウェブサイトの実装を担当しました。2つ目はバイオインフォチームのリーダーを務め、タンパク質言語モデルを用いた酵素設計や、数理モデルによる生物挙動の予測などを主導しました。3つ目は渉外担当として、クラウドファンディングにより80万円を調達し、企業からの協賛獲得や共同企画の推進にも貢献しました。英語サイト、 日本語サイト。
当初、チーム内では実験担当(WET)と情報担当(DRY)の認識のズレや連携の難しさが課題でした。DRYチームはモデル作成のための事前知識の勉強に時間を割く必要があり、WETチームにその必要性をなかなか理解してもらえませんでした。一方、DRYチームでは自分たちを単なる技術提供者と捉え、WETチームの実験方針に対して積極的に関与しようとしない傾向がありました。そこで私は、両者の長期的なロードマップを可視化し、お互いの活動の成果にどのように貢献するかを示しました。また、従来はDRYとWETのように分野に分かれていたチームを、複数の実験をベースとしたチームに編成し、DRYとWETが交流する場を強制的に設けました。これにより、DRYのメンバーが実験の方針策定にも積極的に関与できるようになり、WET側もDRYの活動の重要性を理解するようになりました。その結果、実験とモデリングが互いに補完し合う体制が構築され、提案内容の一貫性と説得力が向上しました。この取り組みは、iGEM本大会にてBest Model Nomineeおよび世界TOP10チームとして国際的な評価を受けました。
Kaggle Santa 2024に参加し、銅メダルを獲得しました。このコンペは、通常の文章の順番を入れ替えたサンプルが与えられ、それらの単語を並べ替えることによって、LLMによる評価値(Perplexity)を最小化するというものでした。私たちのチームは、局所的に単語を入れ替えたりする状態遷移をを行い、焼きなましを用いて最適化を行いました。私はチームにおいて、スコアの向上に貢献しなかったものの、分割統治アイデアの実装を担当しました。また、スコアを左右する重要な要素である乱数シードの探索にも貢献しました。
- 使用技術: BigQuery, Python
- 業務内容: レコメンドシステムの改善
- 業務内容詳細: BigQueryおよびPythonを用いて大規模データの前処理・特徴量エンジニアリング・モデル学習・評価を担当しました。レコメンドシステムのパイプラインの一部に着目し改善手法を提案しました。オフライン評価においてベースライン手法との比較を行い、提案手法によるCVRの改善を達成しました。
- 使用技術: Python, Pytorch
- 業務内容: RD36.ncRNAの核酸医薬としての有効性の予測モデル構築・有望な候補配列を生成する基盤モデルの研究
- 業務内容詳細: PFNが保有する計算機資源および大規模言語モデル・RNA配列生成モデルやその開発に係る知見を活用し、核酸医薬として有効と予測される塩基配列の生成と評価に取り組みます。目的関数としては、in-silicoのクライテリアのほかにWet実験データも利用できる予定です。それらを組み合わせて目的関数を精緻化する研究にも取り組んでいただく予定です。(募集ページより引用)
- 使用技術: Python, Pytorch, Github Actions
- 業務内容: 機械学習モデルの開発
- 業務内容詳細: 配送計画最適化プロジェクトにおいて、私はAIエンジニア兼サブPMとして参画しました。PythonとPytorchを用いた機械学習モデルの訓練、ヒューリスティックアルゴリズムの設計・実装を担当する一方で、納品に向けてプロジェクト管理業務にも取り組みました。不確実性が高く、スピード感が求められているプロジェクトであったため、研究開発段階ではコードレビューとドキュメント整備が不十分で、リファクタリングやドキュメント整備が必要でした。そこで、プロジェクト末期において、納品物の品質を担保するために、以下の3つの施策を提案・実行しました。①GitHub ActionsによるCIテスト自動化の導入、②PRルールの整備によるレビュー体制の強化、③設計や運用に関するドキュメント整備。この結果、1PRにかかる作業時間とレビュー時間を30%削減し、納品物の品質を担保することができました。また、社内においてもコードレビュー、ドキュメント整備、テスト自動化の認識を広めることができました。これらの施策は、今後のプロジェクトにおいても継続的に活用される予定です。
- 使用技術: Python, C++, ROS 2
- 業務内容: ロボットシステムの開発, 論文執筆
- 業務内容詳細: 最大100台のロボットを同時に制御するマルチエージェントロボットの実験基盤の構築が求められる中、私はロボット制御システムの設計・開発をゼロから担当しました。Python/C++とROS 2を用いて、ロボット群の位置制御、姿勢制御、経路計画などの機能をROS 2のノードとして実装しました。この成果はロボティクス・メカトロニクス 講演会 2024にて発表され(ポスターはこちら)、英文論文誌であるJRM(Journal of Robotics and Mechatronics)に投稿しました。この実験基盤は、今後のMAPF(Multi-Agent Path Finding)やSwarm Roboticsなど研究の評価に活用され、組織内で1~2研究プロジェクト/年の利用が見込まれています。さらに、最近はVLA(Vision-Language-Action)モデルを用いた4足ロボットの歩容生成の研究に取り組んでいます。
- 使用技術: AWS, Terraform
- 業務内容: 基本的なインフラ業務の体験
- 業務内容詳細: 社内のインフラ業務を体験することを目的としたインターンで、私は監視botの移行を行いました。古いオンプレから新しいクラウドにインフラが移行されたが、監視botは古いインフラにしか対応していないという課題を解決するために、Terraformを用いてAWSのインフラを構築し、監視botの移行を行いました。その結果、毎日管理サイトにログインして障害発生状況を確認する手間を省くことができ、担当者のトイルを15%削減することに成功しました。また、Terraformを用いてインフラをコード化することで、今後の運用が容易になるという効果も得ました。
- 使用技術: GCP, Python, React
- 業務内容: 日経電子版の新たなUIを提案
- 業務内容詳細: 日経新聞の新たなサービスを提案することを目的としたインターンで、私のチームは日経電子版のUI改善を行いました。私たちのチームは、従来の日経電子版のUIが情報量が多く、ユーザーが必要な情報を見つけるのが難しいという課題を特定し、解決策として、ユーザーの関心に応じて色や大きさが動的に変化する視覚的UIを提案しました。Reactを用いて、スクロール連動でブロックサイズが変化するプロトタイプを開発し、Pythonと最適化アルゴリズムを用いて、ユーザの関心と画面の情報量を考慮した最適なUIを提案しました。その結果、日経電子版のトップページから、ユーザーが必要な情報を見つけるまでの時間を1/3に短縮することができました。
- 使用技術: Python, Go, AWS
- 業務内容: LLMを利用した社内Chatbotの開発
- 業務内容詳細: 社内用の効率化ツールの開発を目的としたインターンで、私のチームは社内の情報を検索するためのChatbotを開発しました。私たちのチームは、社内の情報がSlackやGoogle Driveなど複数の情報源に分散しているため、情報を検索するのが難しいという課題を特定し、RAG(Retrieval-Augmented Generation)に対応した社内向けChatbotの提案と実装を行いました。PythonとGoを用いて、情報のベクトル検索やエンベディング生成、Slack・Google Drive APIによる情報取得処理を実装し、AWS ECSにデプロイしてSlackbotとして社内展開しました。このChatbotは、プロジェクト参画初期における情報収集を効率化し、全社で一人あたり70時間/年の工数削減を見込んでいます。
- 使用技術: Python, Javascript, Node.js, Typescript, React, Electron
- 業務内容: QA自動化、社内ツール開発
- 業務内容詳細: QAエンジニアインターンとして、QAの業務を行いながらテスト自動化や社内ツールの開発を行いました。会社のプロダクトがUnityとJavascript製の独自のUIフレームワークを用いているため、QA業務は手動で行うことが多く、テスト自動化の必要性を感じました。そこで、PythonとSeleniumを用いて、テスト項目からE2Eテストを実施し、QAレポートを自動生成するツールを開発しました。このツールにより、2週間に1回程度の頻度で発生していたQA業務の効率化が図られ、業務時間を50%削減することに成功しました。また、SDKで提供されているJavascript製の独自のUIフレームワークのドキュメント整備やサンプルコードが不足していたため、自ら積極的に最新版に更新する作業を行いました。さらに、PMが行なっていたプロダクトの利用状況に関する週次データ集計業務の自動化を自ら提案し、毎週約5時間の単純作業を数分に短縮しました。
- 概要: タスク管理のためのAndroidアプリ
- 使用技術: Kotolin, Flask, Typescript
- 担当: バックエンド
- 開発経緯: 技育CAMPval08 ハッカソンに参加
- 開発メンバー: 2人
- 開発期間: 2日
- 工夫した点: Firebaseに初めて触れましたが、短期間でNoSQLやデータ保存の仕組みを理解し、実装できるようになりました。初学者なりに公式ドキュメントやチュートリアルを積極的に活用してキャッチアップしました。
- 概要: 輪読会のための掲示板アプリ
- 使用技術: Node.js, JavaScript, HTML, Bootstrap
- 担当: バックエンド, フロントエンド
- 開発経緯: 技育CAMPval09 ハッカソンに参加
- 開発メンバー: 2人
- 開発期間: 2日
- 工夫した点: Node.jsを初めて使う中で、データベース設計やAPI設計の基礎を実践的に学ぶことができました。限られた時間内だったため、フロントエンドの完成度を高めることに注力し、チームで連携して発表を形にできたのが成果の一つです。
- 概要: ブックマーク共有・検索サービス
- 使用技術: Django, PostgreSQL, JavaScript, HTML, CSS
- 担当: 要件定義、設計、フロントエンド、バックエンド
- 開発経緯: サービス運営(現在はサービス終了)
- 開発メンバー: サークルメンバー3人
- 開発期間: 半年
- 工夫した点: はじめての個人開発であったため、 要件定義から設計、実装までを一貫して行いました。特に、DjangoのORMを用いたデータベース設計や、フロントエンドのUI/UXデザインに力を入れました。また、ユーザビリティ向上のために、検索機能やタグ機能を実装しました。
- リンク:
- https://ochiba.onrender.com/ (無料枠のためインスタンス起動に時間がかかる場合があります)
- https://github.com/bishopfunc/Curriculum-Vitae/tree/main/img/ochiba.png
- 概要: DNAををパズルに見立てたゲーム
- 使用技術: Unity, C#
- 担当: 設計、実装
- 開発経緯: 生物学の教育目的(iGEM2022のプロジェクトの一環)
- 開発メンバー: 1人
- 開発期間: 3ヶ月
- 工夫した点: 一時停止、リセット、残り時間の表示、BGMなどの基本的な機能によって ゲームのクオリティを向上させました。初めてUnityを使用したため、状態管理の設計を上手く考慮せず、後々苦労しました。
- リンク: https://bishopfunc.github.io/BiosensorPuzzle
- 概要: オンライン勉強ルームアプリ
- 使用技術: FastAPI, PostgreSQL, React, WebSocket
- 担当: FastAPIによるバックエンド開発
- 開発経緯: 技育展2022にて発表
- 開発メンバー: 4人
- 開発期間: 1ヶ月
- 工夫した点: FastAPIとWebSocketを用いて、リアルタイムでの同期機能を実装しました。ルームごとにユーザの状態を管理するAPI設計が特に難しかったです。
- リンク:
- 概要: キャッシュ、ロック機能実装した、複数クライアントで同期可能な分散ファイルシステム
- 使用技術: Go, gRPC
- 担当: 設計、実装
- 開発経緯: 大学の分散システムの授業の課題
- 開発メンバー: 3人
- 開発期間: 3ヶ月
- 工夫した点: gRPCを用いて、クライアントとサーバ間の通信を行いました。特に、キャッシュ機能とロック機能の実装に力を入れました。キャッシュ機能は、ファイルの読み込み速度を向上させるために実装しました。ロック機能は、複数クライアントが同時にファイルを更新する際の競合を防ぐために実装しました。
- リンク:
- 概要: 合成生物学の世界大会 iGEM 2022 の成果報告ページ
- 使用技術: Nuxt.js, Gitlab CI/CD
- 担当: フロントエンド
- 開発メンバー: 2人
- リンク: https://2022.igem.wiki/waseda-tokyo/
- 概要: 合成生物学の世界大会 iGEM 2024 の成果報告ページ
- 使用技術: Next.js, Gitlab CI/CD
- 担当: フロントエンド
- 開発メンバー: 2人
- リンク: https://2024.igem.wiki/waseda-tokyo/
- 概要: サークルのホームページ
- 使用技術: Nuxt.js, Tailwind CSS, Netlify
- 担当: フロントエンド
- 開発メンバー: 1人
- リンク: https://igem-waseda.netlify.app/
- Zenn: https://zenn.dev/bishopfunc
- GitHub: https//github.com/bishopfunc
- CV: https//github.com/bishopfunc/Curriculum-Vitae
- サークルホームページ: https://igem-waseda.netlify.app/
- iGEM 2022 成果報告ページ: https://2022.igem.wiki/waseda-tokyo/
- iGEM 2024 成果報告ページ: https://2024.igem.wiki/waseda-tokyo/
- 分散ファイルシステム: https://drive.google.com/file/d/1_jYtEm63lqtM9TRM5EtCb4Egt2stWgMK/view?usp=sharing
- DNAパズルゲーム: https://bishopfunc.github.io/BiosensorPuzzle
- ブックマーク共有・検索サービス: https://ochiba.onrender.com/
- オンライン勉強ルームアプリ: https://github.com/manasan-iTL/Syncation-backend
早稲田大学の情報系の修士1年です。機械学習の研究開発からフロントエンド、バックエンド、インフラまで幅広い経験があります。私の強みは、技術力を活かした課題解決力です。実務インターンや研究、ハッカソンなどを通じて、ソフトウェア開発や機械学習を用いた課題解決に取り組んできました。私の強みは、強い好奇心とそれを行動に移す力です。分野にこだわらず、興味を持った領域にはゼロからでも飛び込む姿勢を大切にしています。例えば、iGEMという合成生物学の国際大会では、生物の知識がほぼゼロの状態からスタートし、独学で学びながら、チームのバイオインフォマティクスリーダーとしてプロジェクトを牽引し、世界TOP10入りを果たしました。また、産業技術総合研究所のインターンでは、ロボット工学の知識がない状態から、最大100台のロボットを制御するシステム開発に携わり、最終的にはその成果を国際論文誌で執筆しました。このように、未知の分野に対しても臆せず挑戦し、必要な知識を自ら習得して成果に結びつける力は、自分の大きな強みだと考えています。
私は、機械学習の知見とフルスタック開発のスキルを活かし、ユーザーのニーズを技術で解決するためにリーダーシップを発揮できるエンジニアを目指しています。具体的には、以下の3つの観点から成長していきたいと考えています。 まず、機械学習の研究の経験を活かし、論文を通じて技術を深く理解するだけでなく、それを応用・改良することで、ビジネスへ貢献したいと考えています。近年のLLMに代表されるような技術革新をビジネスに活かすには、最新の研究成果を理解し、実装する能力が求められます。 また、エンジニアとしては、新しい技術を安定的かつ効率的に実装できるソフトウェア設計を行いたいと考えています。特に、LLMエージェントの登場のような新しい技術の登場には、従来とは異なるUI/UXの設計や、不確実性を前提としたLLMOpsなどの新しい設計思想が求められます。 そして何よりも、技術を目的とするのではなく、あくまでユーザーの課題を解決するための手段として位置づけ、その実現に向けてチームを導くリーダーシップを発揮したいと考えています。ユーザーが求めているものが必ずしも最先端の技術とは限らないことを意識しつつ、最先端の技術が必要な場合には、様々なバックグラウンドを持つメンバーと協力し、最適な解決策を見つけ出すことができるエンジニアを目指しています。