Nao Yamadaの写真

Nao Yamada

システムエンジニアリング、AI、データサイエンス、ロボティクス、などの分野に興味があります。 大学院在学中は、ロボティクスとAIの分野で、グラフニューラルネットワークを用いた人間の状態認識モデルの研究を行いました。 SaaS企業でバックエンドエンジニアとして主にJavaを使ったwebアプリの開発をした後、機械学習エンジニアとして、画像系の識別AIモデルの開発を行っています。 生成系AIにも興味があり勉強中です。

Education & Work History

Feb 2024

Machine Learning Engineer

Apr 2022

Web Application Backend Engineer

Mar 2022

Master of Engineering in Mechanical System

Mar 2020

Bachelor of Engineering in Mechanical System

Projects

概要 詳細
図面記号検出AIモデル開発
  • 図面中の記号を検出するためのモデル(物体検出)を開発。
  • モデル開発では学習、評価、レポート作成、レポーティングを担当。
  • クラスの偏りやデータのドメイン的な特徴を考慮して独自の前処理やデータ拡張を実施することでベースラインモデルからの精度向上を実現した。
  • Python
  • Pytorch
  • YOLOX
  • VSCode
  • GitHub
肌異常の検出AIモデル&API開発
  • 顔の肌異常を検出するためのモデル(セマンティックセグメンテーション)の精度向上に取り組んだ。
  • モデル開発ではデータセットのアノテーション基準の策定、学習、評価、レポート作成、レポーティングまで一貫して担当。
  • Data-centricなアプローチを取り、モデルのチューニングとアノテーションの改善を繰り返すことで精度向上に成功した。
  • FastAPIを使って、学習が完了したモデルの推論用API開発も担当した。
  • Python
  • Pytorch
  • FastAPI
  • Pycharm
  • GitHub
バッチ処理ライブラリの独自実装への置き換え
  • Spring Batchで行われていたバッチ処理の独自実装への置き換えを担当。
  • マルチスレッドや複雑なトランザクション処理が絡んでいたため、既存の挙動との比較を慎重に行いながら詳細設計、開発、テストを実施した。
  • Java
  • Spring Boot
  • Spring Batch
  • IntelliJ
  • GitHub
大容量のPDFファイルを生成&ダウンロード機能の開発
  • 大量のユーザーデータをPDFに変換しダウンロードする機能をメモリ効率を重視して開発。
  • サーバーでzipファイルのデータを部分的に生成しながらAWS S3のmulti part uploadで順次アップロードすることで、サーバーのメモリ消費を抑えながら大容量データの処理を実現した。
  • Multi part uploadでは最終的にzipファイルが完成するように部分的なデータをスタックしていく必要があり、zipの仕様に従って部分的なデータ生成する処理の実現が開発のポイントとなった。
  • Java
  • Spring Boot
  • AWS S3
  • IntelliJ
  • GitHub
他システムとの連携のためのAPI開発
  • 別システムから呼び出されるAPIの設計・実装・テストを担当。
  • 呼び出し側の要件を考慮し、モックを活用した早期テスト環境の提供や信頼性向上に努めた。
  • Java
  • Spring Boot
  • IntelliJ
  • GitLab

Technical Skills

Java

Spring Boot

Spring Batch

JUnit5

Gradle

Python

Django

FastAPI

SQLAlchemy

Alembic

pytest

Poetry

PyTorch

scikit-learn

データベース・ミドルウェア

PostgreSQL

Redis

ROS

バージョン管理・コンテナ

GitLab

GitHub

Docker

CI/CDツール

GitLab CI

GitHub Actions

Contribution

Published

Research

Contact Information

LinkedIn: nao-yamada

X (Twitter): @hachi_mada