<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ENDO Yasunori - A Professional Engineer</title><link>https://yendo.info/</link><description>Recent content on ENDO Yasunori - A Professional Engineer</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><lastBuildDate>Tue, 14 Apr 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://yendo.info/index.xml" rel="self" type="application/rss+xml"/><item><title>Cloudflare Pages にアクセス認証をかけてみた</title><link>https://yendo.info/posts/2026/0414_secure_cloudflare_pages/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0900</pubDate><guid>https://yendo.info/posts/2026/0414_secure_cloudflare_pages/</guid><description>久々の投稿になります、遠藤です。
このページや私が運営している AnveIno技術士事務所 のWebサイトは Cloudflare Pages でホスティングされています。 具体的には、Hugo という静的コンテンツジェネレーターを使ってページを作成しています。 GitLabに原稿をpushするたびに自動でビルドが走り、デプロイが実行されるという大変な優れものです。 しかも、一定以下のトラフィック量なら無料という何ともありがたい大盤振る舞いをしていただいています。
さて、私は今放送大学大学院に進学しているわけですが、研究メモ（いわゆるラボノート）というのをまともにとったことがないなということにいまさら気づきました。 ラボノートは、研究の再現性や正しさを主張する上で必要となる資料です。 ただ、ラボノートのイケてないところは、紙で書くことが多いということです。 コマンドの実行履歴などを手書きに書くのはしんどいですよね。
電子ラボノートというものも巷には出回ってますが、今一つしっくりこない。 そこで、私はブログ形式でラボノートを残すことにしました。
ブログ形式に関する先行文献には、下記の轟先生の文献があります。
ブログを基にした実験ノート: 個人の研究活動を効率化する情報環境
https://mdr.nims.go.jp/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6IjUyYTIxOTVmLTY1YzctNDVmNS1iZGJmLTM4MWQyNThmYTc2NyIsInB1ciI6ImJsb2JfaWQifX0=--04c27827bddea8c675225469334aa7a028354536/Jcmb_apss.pdf
アクセス認証の問題 Cloudflare Pages は大変よくできていて、Gitlab/GitHubのリポジトリを指定すると、プッシュしたたびにビルドしてデプロイしてくれる 超有能なシステムなのですが、そのままだと問題があります。 それは、世界中に内容が公開されてしまうということです。
このブログのような公開を前提とした記事では問題がありませんが、今回は研究に関する情報をブログ化します。 ということは、未発表の学術研究データも当然入ってきますから、おいそれと公開するわけにはいきません。 そこでアクセス認証の問題が浮かび上がってきました。
幸い、Cloudflare には Cloudflare Zero Trust というアクセス認証機構があります。 しかもなんと太っ腹なことか、50ユーザーまでは Free プランの範疇で利用可能です！ これは利用しない手はないということで、さっそく設定してみました。
Let&amp;rsquo;s 設定！ (1) まずは Google アカウント認証の設定を行う まずは、Google認証ができるようにします。 手順は次の通りです。
Google Cloud Console で適当なプロジェクトを作り、 OAuth同意画面 に行く クライアント から クライアント作成 をクリック 以下のように設定 アプリケーションの種類 を ウェブアプリケーション にする 名前 は適当に設定する 作成 を押す クライアントID と クライアントシークレット を控える（ここで控えを取らないと、以降永遠に表示されません！） 認証済みのJavaScript生成元 に https://&amp;lt;your-team-name&amp;gt;.</description></item><item><title>社会人修士　苦節7年　旅はまだ終わらず</title><link>https://yendo.info/posts/2025/1224_advent/</link><pubDate>Wed, 24 Dec 2025 01:00:00 +0900</pubDate><guid>https://yendo.info/posts/2025/1224_advent/</guid><description>この記事は 社会人学生 Advent Calendar 2025 24日目の記事です。 かなりギリギリになってしまいすみません。
TL;DR 修士は現役でとれ。社Dはいいと思うが、フリーランスが完遂するにはハードルが高いぞ。
Who am I? 私は山形県で技術士（情報工学部門）を生かした仕事をしている（つもりなんだけどなぁ）フリーランスソフトウェアエンジニアです。
専門は組込み開発と呼ばれる分野で、いわゆるマイコンとかをいじる仕事です。 例えば、皆さんが今平然とお使いの NVMe SSD のファームウェアの開発を、規格が出てほやほやのころに開発してたりしていました。 当時は2DのFG-NANDで微細化が進むにつれて。。。（脱線したので強制終了）
また、ちょっと前の世代(CNN: Convolutional Neural Network; 畳み込みニューラルネットワーク)の &amp;ldquo;AI&amp;rdquo; も専門としていました。 組込みとAIを組み合わせて、地域の海ゴミ回収ロボットの自律走行システムなんかも作っていました。 （朝日新聞にインタビュー記事が載ってます！ ← 熱い宣伝)
最近はとあるブロックチェーンベンチャーさんを手伝う機会を頂いておりまして、ブロックチェーン×組込み開発の2軸を組み合わせて、 ビットコインスクリプトの検証をハードウェアにオフロードしてしまおうというプロジェクトを立ち上げていたりします。
これまでの歩み 学生時代 私はいわゆる高専生というやつで、仙台電波高専という今は亡き高専に通っておりました。 高専というのは短大相当となりますので、もう2年間のおまけコースである専攻科というシステムを使って 四大卒相当の学修を行いました。 高専は学位を出せないため、 大学改革支援・学位授与機構 なる機構から学士（工学）を頂きました。
専攻科を卒業した後に大学院に進学するというケースはさほど珍しくなく、私の周りでもそこそこ進学するケースはありました。 そこで私も素直に進学しておけばよかったのですが、当時の私（特に専攻科時代）は中だるみというか燃えつきというか、 とても研究に打ち込める状況ではありませんでした。 そこで、そのような状況下で進学してもろくな結果にはならないという直感のもと、民間への就職を決めました。
社会人時代・フリーランス・起業・挫折 専攻科を卒業した私は、エンジニアとして 株式会社フィックスターズ に採用され、4年ほど勤めました。 組込みの基礎や、AIの基礎を叩きこんでくれた素晴らしい会社で、大変お世話になりました。 （もし関係者の方がご覧になっていたらこの場を借りて御礼申し上げます。）
4年ほど勤めた私は今思うと天狗になっており、組込みを完全理解した感を感じたためか、これはもう一人でやっていけると 無謀にもフリーランスに挑戦することになりました。 様々な案件を渡り歩いて、一程度の経験値を貯めました。 しかし、SES経由の案件を繰り返すことの限界を感じ、いっそのこと起業や！と思い立って会社を作ってしまうのです。
起業時代は、資金繰り、営業、プロジェクト遂行、人事労務管理など、様々な業務に忙殺されました。 その結果として自分の強みを活かせなくなったこと、また折しもコロナウイルス感染症と企業の時期がかぶり 案件がなかなか取れず資金繰りが悪化したことなどから、数年で会社を手放すことになりました。
その後、またフリーランスで細々と仕事を頂いて食いつないでいる毎日です。
社Mを取ろうとした想い 学士卒なのでまずはマスターを取ろうということで、まずは社Mを目指しました。 時期としては、ちょうどフィックスターズをやめたタイミングです。
フィックスターズには、東大・京大その他いわゆる「頭のいい大学」の修士持ちの社員さんがわんさかおります。 業務の一環で論文を読んだり、そのアルゴリズムを実装したりするのですが、学のない私には論文がちんぷんかんぷんだし、 そのせいで実装も後手後手でした。 そこにさっそうと修士卒の社員さんが現れて、論文をスラスラ読むし実装もバリバリこなす、そんな姿にあこがれたのが 社Mを目指したきっかけです。
また、これは自分の会社をやっていたときに思ったことなのですが、私の会社（ダーディット株式会社といいました。R.I.P.） は組込み×AIの軸で、いわゆる「エッジAI」の最先端研究を進めていきたいと考えておりました。 そうすると、単なる技術者ではなく研究者としての顔も持つことになります。 その際のいわばライセンスとなるのが博士号です。 博士号を取るためには、まず修士を取らなければならない。 これも私が社Mを目指した理由の一つです。</description></item><item><title>Education</title><link>https://yendo.info/edu/</link><pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate><guid>https://yendo.info/edu/</guid><description>教育哲学・抱負 「技術の楽しさを伝え、困難を乗り越える力を育む」
私は以下のような哲学・抱負をもって教育亜活動に当たっています。
技術の楽しさを伝える教育 優れた技術の本質は &amp;ldquo;Just for fun&amp;rdquo; にあります。私自身の実務経験における苦悩と、それを乗り越えた時の感動を伝えることで、学生の知的好奇心を刺激し、主体的な学業意欲を育みます 。 常にアップデートし、地域に貢献する教育 社会や産業の変化に合わせ、教育内容も柔軟に見直します。反転学習やアクティブラーニング、電子教材の開発などを通じて、地域のDXを支える技術者に求められるスキルセットを提供します 。 困難を乗り越えるたくましさの養成 私自身、経営の失敗や再起という逆境を経験しました。だからこそ、悩みや迷いを抱える学生の心に寄り添い、適切な支援の下で課題を乗り越える成功体験を積ませることで、社会を支える礎を築きます 。 ポスト・シンギュラリティー時代への備え AIがヒトを超える時代だからこそ、「国語力」「論理的思考力」「体系的な基礎知識」が重要です。AIを「使いこなす」ことで、地域社会の未来を切り拓く人材を育成します 。 主な教授実績 高等教育機関 山形県立産業技術短期大学校 庄内校 非常勤講師（2021年 〜 現在） 担当科目：「情報工学」 工夫：物理的なイメージを伴った本質的理解を目標とし、反転学習を導入して学生の思考力・説明力の向上を図っています。 仙台デザイン＆テクノロジー専門学校 非常勤講師（2022年 〜 2023年） 担当科目：「IT数学基礎」「データサイエンス基礎」等 工夫：学力差の大きい環境において、Pythonを用いた実技重視の指導や、学生同士の教え合いを促進する仕組みを構築しました。 国立弓削商船高等専門学校 マイコン部外部コーチ (2026年 ～ 現在) プログラミングコンテスト出場に向けた各種指導を実施 社会人・企業研修 新卒者等未経験者向け実務基礎研修（2024年 〜 現在） 内容：C言語、データベース（MySQL）、UML講座の設計・実施。 成果：受講生の特性に合わせた丁寧なフォローにより、未経験者からも高い学習効果と満足度を得ています。 指導可能分野 プログラミング: C/C++, Python 基盤技術: コンピューター構成原理、情報工学概論、ネットワーク、セキュリティー 設計・数理: UMLを用いた要求分析・設計、IT数学、データサイエンス（確率統計）</description></item><item><title>Research</title><link>https://yendo.info/research/</link><pubDate>Mon, 22 Dec 2025 01:23:45 +0900</pubDate><guid>https://yendo.info/research/</guid><description>Research Interests 現在は「本物の脳（天然知能）」と「計算機の脳（人工知能）」における視覚認識の振る舞いの差に着目し、より堅牢でヒトに近い振る舞いを示す人工知能モデルの確立を目指して研究を行っています。
1. 敵対的サンプル（Adversarial Examples）の解明 深層学習モデル（CNN等）において、人間の目には判別不能な微小な摂動を加えるだけで誤認識を引き起こす「敵対的サンプル」の問題に取り組んでいます。 この脆弱性は、自動運転や顔認証などの社会実装における大きな障壁となるだけでなく、脳の視覚野の構造を参考にしたはずのCNNが、なぜヒトとは全く異なる誤認識を起こすのかという学術的な問いを含んでいます。
2. 深層学習モデルの堅牢性（Robustness）向上 敵対的サンプルに対する防御手法として、以下の多角的なアプローチを検討・検証しています。
線形性仮説の検証: 高次元線形モデル特有の振る舞いが誤認識を招くという仮説に基づいた、ネットワークの非線形性の解析。 生物学的知見の導入: 脳の自発的な活動メカニズムをヒントに、ノイズ注入（Parametric Noise Injection）等によるモデルのロバスト性向上。 3. バイオインスパイアードAIの確立 脳における情報処理の仕組みを人工知能モデルへと還元し、現在のAIが抱える「脆さ」を克服した次世代のアルゴリズム構築を目指しています。この研究を通じて、逆に人工知能の振る舞いから脳の情報処理の謎を解き明かす、双方向的な理解の深化を狙いとしています。</description></item><item><title>Ubuntu(WSL)でNVIDIA Visual Profilerが起動しなかったらJavaのバージョンを疑え</title><link>https://yendo.info/posts/2024/wsl_nvvp_not_launch/</link><pubDate>Sun, 28 Apr 2024 01:00:00 +0900</pubDate><guid>https://yendo.info/posts/2024/wsl_nvvp_not_launch/</guid><description>お疲れ様です、遠藤です。
ひょんなことで久しぶりにディープラーニングの学習プログラムを書いています。
GPUを有効にしているはずがあまり速くない。。。しかしGPUは回っている。 そんな現象に遭遇しており、GPUのプロファイリングをとろうとしています。 しかし、NVIDIA Visual Profiler(nvvp)を起動しようとしたら、Eclipseのエラーで起動しない！ そんな場合は Java のバージョンが8であることを確認してください。
How to install $ sudo apt install openjdk-8-jdk $ sudo update-altenatives --config java References https://forums.developer.nvidia.com/t/nsight-eclipse-wont-launch-ubuntu-18-04/71964/7 https://superuser.com/questions/1607991/cannot-open-nvidia-visual-profiler-on-ubuntu-20-04 Enjoy hacking :-)</description></item><item><title>自動運転AIチャレンジ　WSL2+NVIDIA GPU環境向け構築手順ハマりポイント解説</title><link>https://yendo.info/posts/2023/aichallenge_env_pitfalls/</link><pubDate>Thu, 28 Dec 2023 01:00:00 +0900</pubDate><guid>https://yendo.info/posts/2023/aichallenge_env_pitfalls/</guid><description>みなさん、自動運転していますか？
現在開催中の 自動運転AIチャレンジ　シミュレーション大会 に 私も挑戦しようと思い立ってから1か月、そろそろやらんとまずいということで環境構築に勤しんでおります。
公式の環境構築ドキュメント がかなり良く出来ておりまして、基本的にはここの通りにやるとよいです。 しかし、WSLというちょっと特殊な環境で動かそうとすると若干のハマりポイントが出てまいります。 本記事では、WSLで動かしたいわがままなあなた（そして私）向けに、ハマりポイントの脱出法を記録していきます。
ハマりポイント(1): AWSIMがSEGVで死ぬ 手順の最初でGPU版AWSIMを起動するのですが、SEGVで落ちます。
gdbで検視を行うと、Vulkanの初期化で死んでいるようでした。 WSLg の Github issue を参考に 以下のコマンドを実行したところ、落ちることなく実行できました。
$ sudo add-apt-repository ppa:kisak/kisak-mesa $ sudo apt update $ sudo apt upgrade 実行した結果やたら重いですが、これがWSL固有の問題かどうかまでは確かめていません。
ハマりポイント(2): Unable to locate package python3-rocker 手順ではさらっと rocker をインストールしていますが、rockerのインストールの前にはROSのaptリポジトリの追加が必要です。
$ sudo sh -c &amp;#39;echo &amp;#34;deb http://packages.ros.org/ros2/ubuntu $(lsb_release -sc) main&amp;#34; &amp;gt; /etc/apt/sources.list.d/ros-latest.list&amp;#39; $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - $ sudo apt update なお、ROS公式 の手順だと 私の手元の Ubuntu22.</description></item><item><title>0x20歳を迎えて</title><link>https://yendo.info/posts/2023/0x20_years/</link><pubDate>Wed, 15 Nov 2023 22:00:00 +0900</pubDate><guid>https://yendo.info/posts/2023/0x20_years/</guid><description>わたくしは本日2023/11/15をもって0x20歳の誕生日を迎えました。
ここまで生き延びられたのも、支えてくださっている皆様のおかげです。
昨年一年間は、重要な出会いと進展がありつつも、調子を崩し仕事ができなくなる状況が続いていました。 今年に入って持病の治療の方針が変わり、少しずつ慣れてきたところです。
今年一年の目標としては、大きく躍進するというよりも「今できることを一歩ずつ着実に進めていくこと」をモットーに、 堅実に1年間を乗り切ろうと思います。
当サイトは近々リニューアルし、私の人となりがわかるようにしていきたいと思います。 これからはちょこちょこ更新できるようにしたいものです。</description></item><item><title>WSL上で docker build するとストレージ容量が足らなくてエラーになる現象を何とかする</title><link>https://yendo.info/posts/2022/docker_win_disk_size/</link><pubDate>Mon, 12 Dec 2022 00:00:00 +0900</pubDate><guid>https://yendo.info/posts/2022/docker_win_disk_size/</guid><description>ブログの更新が手間で、相当開いてしまいました。 これからはちょこちょこ更新できるようにしたいものです。
最近 FPGA を触ろうと思って、Xilinxのツールを入れようとしています。
普段は Windows 使いなので最初は Windows 版の Vitis/Vivado をインストールしていたのですが、風のうわさで Linux 版でないとやりたい作業ができないという話を聞き、Linux 上で Xilinx のツールを使いたいなと思い立ちました。
知り合いは Xilinx ツール用に Ubuntu をデュアルブートしたり仮想マシンを立てたりしてるようですが、あまりそういう面倒なことはしたくないので、 先人の事例 を参考に docker でドカドカしてみることにしました。
困った現象 先人の知恵を参考に Dockerfile を書いてビルドを走らせるのですが、Xilinxのインストーラーがコケてしまいました。
ERROR - There is not enough disk space on /tools/Xilinx to install. ディスクの容量不足ということで、Cドライブの余計なファイルを消したりして 400GB 以上の空き容量を作って再度挑戦。
しかし、ディスクの空き容量は増えたにもかかわらず Xilinx のインストーラーは再度容量不足で失敗。
dfコマンドで見てみると、空き容量は増えてないようでした。
対処方法 WSL上で見えるデータの実体は仮想ハードディスク内に記録されていて、この仮想ハードディスクファイルのサイズを拡張することが必要とのことです。
具体的な方法は Microsoft の公式に書かれているので、そちらを参考にやっていきます。
実際の作業手順を以下に示します。
Windows のコマンドプロンプトを開いて WSLを止める: wsl --shutdown diskpart コマンドを実行 diskpart の窓が開くので、次のコマンドを実行 dockerが使っている仮想ハードディスクを選択する (注: 公式に書かれている Ubuntu の仮想ハードディスクとは別のファイルであることに注意) DISKPART&amp;gt; select vdisk file=&amp;#34;C:\Users\xxxx\AppData\Local\Docker\wsl\data\ext4.</description></item><item><title>STM32マイコンで micro-ROS を動かそう！</title><link>https://yendo.info/posts/2022/uros_on_stm32/</link><pubDate>Mon, 30 May 2022 00:00:00 +0000</pubDate><guid>https://yendo.info/posts/2022/uros_on_stm32/</guid><description>STM32マイコンで micro-ROS を動かす手順をまとめました</description></item><item><title>micro-ROSの紹介 &amp; STM32マイコンで FreeRTOS を動かそう！</title><link>https://yendo.info/posts/2022/freertos_on_stm32/</link><pubDate>Mon, 23 May 2022 00:00:00 +0000</pubDate><guid>https://yendo.info/posts/2022/freertos_on_stm32/</guid><description>micro-ROSの紹介と、STM32マイコンでFreeRTOSを動かす手順をまとめました</description></item><item><title>Nim vs Python　～巨大CSVファイル解析で見る両言語の比較～</title><link>https://yendo.info/posts/2021/0926_nim_vs_python/</link><pubDate>Sun, 26 Sep 2021 04:28:34 +0000</pubDate><guid>https://yendo.info/posts/2021/0926_nim_vs_python/</guid><description>ここ最近(個人的に)静かなブームになってる Nim 言語を使ってみました。Pythonと比較して、ほぼ似たような文法でスクリプトが書ける一方で、パフォーマンスが断然いいことがわかりました。</description></item><item><title>神経科学　トリビアの種（？）　蒸留・枝刈りについて思うこと</title><link>https://yendo.info/posts/2019/1210_neurosci_trivia/</link><pubDate>Tue, 10 Dec 2019 00:00:00 +0900</pubDate><guid>https://yendo.info/posts/2019/1210_neurosci_trivia/</guid><description>神経科学をベースとした真の人工知能を目指す集団(?) ダーディット株式会社を率いる遠藤です。 改めまして、JAIST社会人修士兼社長の遠藤です。 宣伝スンマセン。 仕事ください。 本当にお願いします（切実）
性懲りもなく 神経科学 Advent Calender 2019 に登場させていただきました。 私の初日の記事を除き、これまで圧巻の記事が続いてまいりましたので、ここは箸休めとして軽い話題をお送りします。
最近周りでニューラルネットワークの勉強が流行っており、触発されてちょっと考えたことを書きます。 誰かの研究のアイディアに役立つと願って。
ディープラーニング界隈で一時期 「宝くじ仮説 (Lottery Ticket Hypothesis)」というのがホットでした。 https://arxiv.org/abs/1803.03635
自分は論文はちゃんと読んでいないのですが、ディープラーニングがうまくいくのは ネットワークが大きいほど初期値ガチャの当選期待値が上がるから、という理解をしていて、 だから仕事でニューラルネットワークを組むときはとりあえずでかいのを組みます。 （少なくとも私は。世間一般がどうかは知りません)
さて、一方で実務の世界ではネットワークのでかさが問題になり、実環境にフィットしません。 そこで、枝刈りや蒸留というテクニックを使って、より小さいネットワークを作ります。
※枝刈り: 低い重みのコネクションを削る
※蒸留: 教師ネットワークとそっくり同じ出力を出す、より小さなネットワークを学習する
枝刈りや蒸留でネットワークを小さくできるということは、その操作を繰り返せば いずれこれ以上小さくできない最小のネットワークにたどり着くはずです。 そのネットワークの重みというのは、本当に本質的な情報・知識が &amp;ldquo;蒸留&amp;rdquo; されて残っているでしょう。 それっていったい何なんでしょう？ これってトリビアの種になりませんか？
あるタスクに対して最小のネットワークが定量的に定義できたら、少なくとも私は嬉しい。 これだけだと情報理論で終わりますが、そこから神経科学へ何かもちだせないかな。
まぁ、私が思いつく程度のことですからきっと誰かがやってるんでしょうけど。 という思い付きでした。 もし何かご存じの方がいらっしゃいましたら、 Twitter @yendo1115 までこっそり耳打ちしてくれると喜びます。
ありがとうございました。</description></item><item><title>神経科学に興味のある人集合！(計算論的)神経科学を学ぶ会 &amp; neuropaper.challenge のご案内</title><link>https://yendo.info/posts/2019/1201_cns_study/</link><pubDate>Sun, 01 Dec 2019 00:00:00 +0900</pubDate><guid>https://yendo.info/posts/2019/1201_cns_study/</guid><description>みなさま、はじめましての方ははじめまして、そうでない方はお久しぶりです。 フリーランスエンジニアをやりながら JAIST で計算論的神経科学を研究している遠藤と申します。
僭越ながら 神経科学 Advent Calender 2019 のしょっぱなをいただきました。 この記事では、私が主催させていただいております 「(計算論的)神経科学を学ぶ会」 の紹介をさせていただきます。
そもそもなぜ神経科学を学ぶべきなのか ～私のモチベーションを例に～ この記事を読んでいる方の多くは、それぞれ神経科学に対するモチベーションを各々お持ちかと思いますが、そうでなくふと目に留まったという方もおられるのではないでしょうか。 そこで、私の考える神経科学を学ぶ意義・モチベーションを共有することで、そういった方々へ神経科学のすそ野を多少ぐいっと広げたいと思います。
2014年(あたり)から機械学習・AIブームが続いております。 いずれ終わるといわれながらも、その勢いはまだまだ衰えを見せません。 今回の AI ブームの立役者といえば、みんな大好きディープラーニング(深層学習)であることは疑いようのない事実でしょう。
釈迦に説法で恐縮ですが、ディープラーニングは多層のニューラルネットワークを用いてあれそれこれを解くという問題です。 ここで使われているニューラルネットワークとは、その名の通り我々が持つ神経細胞・ニューロンの活動をモデルに作られています。 これは、神経科学が AI に大きな影響を与えているという確たる証拠です。
他にも、神経科学と AI は非常に密接な関係を持っています。 このことについては、 Google DeepMind CEO の Demis Hassabis による Neuroscience-Inspired Artificial Intelligence という論文に詳しく紹介されています。 興味深い論文ですので、ぜひご一読ください。
人工知能は私たちの生活を大きく変えるポテンシャルを持ち、我々人類文明を大きく進歩させうる非常に重要な技術です。 この技術の発展を目指す上において、神経科学の重要性はこれまでもこれからも変わることはないでしょう。 そういった AI と神経科学の関係において、最近は AI 単独での進歩が続いています。 進歩が続くことはとてもいいことですが、 AI だけでの進歩ではどこか壁に突き当たる日がきっと来る考えています。 その時に状況を打破するカギになるのが、神経科学になるだろう。 それが私の予想です。 AI ブームの今だからこそ一度原点に立ち返って私たちは神経科学を学ぶべきだと思い、勉強会を企画運営することとしました。
勉強会の内容について 前置きが長くなりましたが、勉強会の内容について説明していきたいと思います。
勉強会の目的とターゲット層 この勉強会の目的は、神経科学に関するイベントを主催することで興味関心を持ってくれる人を増やし、日本を中心に世界で戦える神経科学コミュニティを作り上げることです。 既存の神経科学者のコミュニティも巻き込んで、みんなでワイガヤできる場を作りたいと考えています。
この勉強会は、神経科学に興味関心を持つすべての人に向けて開催しています。 主催者の私自身がずぶの素人であり、事前知識は問わずあらゆる人に対し門戸を開くコミュニティであろうとしています。
また、興味関心を持ってくれる人を増やす目的に沿って、AI研究者などまだ神経科学には触れていない人にもリーチしたいと考えています。
内容 (1): 各種読書会の実施 次に、具体的な勉強会の内容について説明したいと思います。
まず、神経科学に関する知見を深めるため、いくつかの本の読書会を行っています。 それぞれの本について紹介したいと思います。</description></item><item><title>あけおめ2018 ~昨年の振り返りと今年の抱負~</title><link>https://yendo.info/posts/2018/0101_happy_new_year/</link><pubDate>Mon, 01 Jan 2018 00:00:58 +0900</pubDate><guid>https://yendo.info/posts/2018/0101_happy_new_year/</guid><description>みなさん、あけましておめでとうございます！
どうも、遠藤です。 今年もよろしくお願いいたします。
さて、新年を迎えるにあたって、標記の通り昨年の振り返りと今年の抱負を考えてみたいと思います。
わたしの2017年はどうだったか 私にとって、2017年は大きく足踏みした停滞の1年となってしまいました。
2016年5月にうつ病の治療を始め、会社の協力を得て転勤をさせていただき様子を見つつ なんとか仕事をやっていこうと努力を続けてきました。 ですが、残念ながら2017年の3月から3ヶ月の休職、途中復職を試みるも失敗、 最終的にまた2度目の休職に突入してしまいました。
一方、ポジティブな面もありました。 業務にてディープラーニング案件のサポートに携わらせて頂くことができ、 新しい技術分野にチャレンジすることができました。 自分がコンピュータエンジニアを目指したのは、コンピュータが動く仕組みに興味がある というところが原点で、その知識欲はある程度高専で満たされていたところでした。 そんな状態にあったところに、機械学習・ディープラーニングとの出会いは 私の新たな知識欲を掘り起こしてくれました。 機械学習系の論文を読むたび、自分の知識が広がっていく喜びと、 論文がスラスラ読めない悔しさと、いろいろな感情が湧き上がってくる事となりました。
2018年の抱負 2017年は大きく足踏みし、これまでの人生の中では一番の底となった一年でした。 2018年は底から這い上がるだけの、ポジティブな1年にしていきたいなと思っています。
まず業務面ですが、医師のアドバイスもあり1月は休職のまま、 コンディションを整えることに注力します。 2月から現職に復帰し、新入社員になったつもりで、気分を入れ替えてまた楽しく働いていきたいと思います。
また、2018年からは社会人学生として、自分のキャリアを大きく育てていきたいと考えています。 現在 JAIST(北陸先端科学技術大学院大学) の社会人入試に出願しており、 修士課程への入学を目指しています。
先端情報科学プログラム | 北陸先端科学技術大学院大学 東京サテライト
研究テーマとしては、計算論的神経科学を通した脳の理解を進めようとしています。 計算論的神経科学に興味を持ったきっかけは、業務で出会ったディープラーニングです。 ニューラルネットワーク自体がその名の通り神経科学をベースに編み出されたものですが、 一方で人間の機能を完全に再現するには至っていません。 この原因が脳機能の理解不足によるものと考えました。
脳機能の理解を深めるためには、機械学習の手法を脳のデータ解析に使うといったアプローチが取れると思いますし、 逆に脳機能の理解を機械学習に役立てるなど、双方向のやり取りが必要になると考えています。 そうして、神経科学と機械学習双方を語れる技術者を目指して、飛躍の1年にしていけたらなと思います。
2017年しっかり充電した分、2018年からはまたハードワークでやっていきたいと思います。 うつ病で弱っている状態ですので無理だけはしないように、しかしある程度負荷はかけていって 一日でも早くキャリアを前進させられるよう頑張っていきたいと思います。
みなさん、お互い頑張っていきましょう！
では。</description></item><item><title>働きながら学位を取る！(2) ~社会人学生を目指す場合によくきかれること</title><link>https://yendo.info/posts/2017/1127_faq_master_degree/</link><pubDate>Mon, 27 Nov 2017 20:34:46 +0900</pubDate><guid>https://yendo.info/posts/2017/1127_faq_master_degree/</guid><description>ども、遠藤です。
前回からお届けしている社会人修士シリーズ、 前回の記事 では「わざわざ社会人が大学院に行くモチベーション」をまとめました。
今回は、社会人学生を目指していく上で、よく聞かれることをまとめていきたいと思います。 社会人の方でまた学校に行ってみようかな？とちょっぴり思った方の参考になれば幸いです。
よくきかれること (1): 高い学費を払ってまで行く価値はあるの？ 大学院に進学するということは、当然学費が発生します。 たとえ学費の安い国立大学を選んだとしても、2年間で合計150万円弱もかかってしまいます。 すると、これだけの高額な学費を払ってまで大学院に行く勝ちがあるのかという疑問は、 当然湧いてくるものと思います。
この問について、以下の2つの観点から考えていきたいと思います。
大学院生活で得られるもの 学生という身分の価値 まず、 「大学院生活で得られるもの」 という観点で考えます。 得られるものの第一として、専門分野の体系的な知識が挙げられます。 専門知識自体は、必ずしも直近の業務で使うとは限りませんが、 重要なのは知識の引出しを多く作ることだと思います。 知識の引出しは多ければ多いほどよく、忘れた頃に役に立ってくれるかもしれません。
得られるものの第二として、研究を通して得られる科学的思考力、 論文を読み解く力や自分の業績をまとめる力等の、研究遂行能力が挙げられます。 この部分は私が特に重要視している部分で、これはすなわち業務遂行能力に つながると考えているからです。 弊社では研究開発的な仕事を多く頂いており、私も幾つか参画させていただいています。 最新の技術について論文を読み漁り、そこから要点をピックアップし、 開発に還元していく作業は、まさに研究遂行そのものであります。 基礎的な研究遂行能力の証として、修士号はぜひともほしいところです。
次に、 「学生という身分の価値」 という観点で考えます。 これは、学割が使えるということと、論文等のアクセスが得られるという点が挙げられます。 まず、学割について考えると、よく思い浮かべる学割はJRや映画館といった物があると思います。 それらも当然メリットが大きいものですが、エンジニア視点で見るとより魅力的な学割があります。
学割で特に強いのが、GitHub の Student Developer Pack を使えるということです。 これは、GitHub を含めた複数のサービスで、無料のライセンスやクーポンを受け取れるものです。 私もすでに放送大学の学籍で、このサービスを受けています。
Learn How to Code Using the Student Developer Pack - GitHub Education
また、論文へのアクセスという点も見逃せません。 論文を探していると、よく IEEE などで、有料で公開されている論文が出てくることがあります。 最近でこそ arxiv などで論文へのアクセスが改善されてきていますが、 読みたい論文がすべてアクセスできるとは限らない状況です。 まともな大学であれば、IEEE や CiNii 等に機関登録をして、学内からアクセスできるようになっています。 こうして、読みたい論文に必要な時にアクセスできるのは、アカデミックな機関に属する人間の特権です。</description></item><item><title>働きながら学位を取る！(1) ~なぜ社会人修士を目指すのか~</title><link>https://yendo.info/posts/2017/1125_why_earn_master_degree/</link><pubDate>Sat, 25 Nov 2017 21:39:47 +0900</pubDate><guid>https://yendo.info/posts/2017/1125_why_earn_master_degree/</guid><description>ども、遠藤です。
今日、北陸先端科学技術大学院大学(JAIST)に行って、 大学院の説明会を受けてきました。 これまで社会人修士をやるかやらないかかなり迷っていたのですが、 実際に先生と話しているうちに学習意欲が高まったので、 ほぼ確実に社会人修士の茨の道に進むだろうと感じました。
これから、3回ほどに分けて社会人修士に関する記事をお届けしようと思います。 今回は、まずなぜ社会人修士に進もうと思ったのか、 モチベーションをまとめたいと思います。
社会人修士に進学する目的 目的 (1): もう一度専門分野を勉強し直したいから 社会人修士を目指す目的の一つは、「専門分野の学び直し」です。
私は高専・高専専攻科を経て、いわゆる学士相当の教育を受けていることになっています。 専門は情報工学ということで、特に高専本科ではコンピュータの基礎・動作原理については 電子・論理回路のレベルから、コンピュータアーキテクチャの基礎、ソフトウェアの基礎と実践 を経て、広く学習してきたと自負しています。
しかしながら、学生時代の私は(今も大して変わっていませんが)大変な怠け者だったので、 勉強や課題を先延ばししてしまい、十分な準備をしないまま適当にこなしてしまっていました。 その結果、色々知識は頭のなかで引っかかりはあるものの、実践に活かしづらい半端な知識が 増えてしまったという反省があります。
特にアルゴリズム周りや数学一般など、学生時代についていけずに苦労した部分は、 今でも苦労しており、一度本腰を入れて勉強し直したいと思っているところでした。
大学院では、修了までに必要な単位を修めるために、専門科目の講義を受ける必要があります。 専門科目を勉強していく中で、自分のわからないところを明らかにして、 足りない部分の学習を補っていきたいと考えています。
理由 (2): まともな &amp;ldquo;研究&amp;rdquo; を経験したいから 私の勤務先は、新入社員の大半が院卒という、比較的珍しい部類に入る会社です。 みんな優秀な方ばかりで、特に論文をスラスラ読んでサクサク実装することができたり、 論理的な思考力といったところが自分よりも優れているなと感じさせられています。
私の高専では、高専4年の後期から研究室に配属され、卒業研究をすることになっています。 高専本科の1年半に加え、専攻科の2年間研究室に配属されていたため、期間としては 学部から大学院に進学した院卒の人と同じ程度の期間を研究室で過ごしたと言い張ってきました。 しかし、学生時代のことを思い返してみると、十分な研究をすることなく、特に業績は悲惨でした。 せっかくの貴重な時間を無駄にしてしまったと、今は深く反省しています。
インターネットが発達したおかげで、論文等の情報は手軽に手に入るようになりましたが、 それらをしっかりと読み解いたり、キッチリと自分の研究成果を論文にまとめるといった過程は、 指導教員のもとでキッチリと指導してもらうのが一番です。 そのために、大学院は適した環境だと考えています。
理由 (3): キャリアの選択肢を広げたいから 技術の最先端を追い求めようとすると、自然と研究開発に絡んだ職を求めることになると思います。 私は開発職なので学部卒でも良かったですが、企業の研究職となると修士卒が求められる事が多いと思います。 更に一歩進んでアカデミックな研究所や大学等で仕事をしようとすれば、博士が必須です。
このように、最先端の研究現場への入場パスとして、学位は必要なものだと考えられます。 現時点でそういう場に身をおくことは考えていませんが、学位を取得することでキャリアの選択肢が 広がるというのであれば、持っておくに越したことはないと思います。
まずは最低限として修士の学位を、その後余裕があれば博士の学位を取得できたらなと考えています。
今回の記事では、私がなぜ社会人修士を目指すのかをまとめてきました。 学部を出て就職したはいいけど、なんか物足りないなとモヤモヤしている方の目に この記事が届いて、社会人修士を目指す仲間が増えてくれたらなと思います。
次回は、社会人修士をやるにあたってよく聞かれる以下のような質問に お答えしていきたいと思います。
高い学費を払ってまで行く価値はあるの？ 大学院進学以外に選択肢はないの？ 仕事をしながら学生やるのは無理でしょ？ それではまた。</description></item><item><title>wget で認証突破！ Cityscapes データセットをダウンロードする</title><link>https://yendo.info/posts/2017/1121_wget_cityscapes/</link><pubDate>Tue, 21 Nov 2017 20:11:10 +0900</pubDate><guid>https://yendo.info/posts/2017/1121_wget_cityscapes/</guid><description>ごぶさたです、遠藤です。
最近、自宅の計算用マシンが息を吹き返しました。 システムを入れていたSSDがしばらく前に死亡し、以降ほったらかしになっていたのですが、 ようやくやる気が出てとりあえずOSが立ち上がってGPUを使った計算ができるようにまでは 復旧させられました。 今後は、計算用マシンを活用してCNNの実装実験とかを色々やってみたいなと思っています。
さて、ディープラーニングで何か遊ぼうとした時に、データセットが必須となります。 今回は、 Cityscapes Dataset を入手して Semantic Segmentation の実験の準備をしたいと思います。
Cityscapes Dataset
この手のデータセットは数十GBのファイルをダウンロードする必要があり、基本的には データセットを使うマシン上で直接DLしたいものです。 GUIを立ち上げてブラウザで落としてもいいのですが、ここはせっかくなので wgetで データを落としてみたいと思います。
すると、ここで問題になるのが、 Cityscapes のダウンロードにはユーザー認証が必要 ということで、 忘備録をかねてメモを残します。
Step 1. ユーザー認証ログイン ここのパスワード認証の仕組みをまとめると、以下のようになっています。
ユーザーがフォームにメールアドレスとパスワードを記載する 送信ボタンを押すと、メールアドレスとパスワードが POST メソッドでサーバに送信される 認証成功すると、ダウンロードページに遷移し、その際に認証情報が Cookie に保存される ダウンロード時は、Cookie の認証情報を見て、サーバが認証ユーザであることを確認する Cookie を使った認証になっているので、まず Cookie の取得を行う必要があります。 これも wget で行うことができます！ コマンドは以下のとおりです。
$ wget --keep-session-cookies --save-cookies=cookies.txt --post-data &amp;#39;username=XXXXXX&amp;amp;password=XXXXXX&amp;amp;submit=Login&amp;#39; https://www.cityscapes-dataset.com/login/ ここで、POST で送信するデータは、ユーザネーム、パスワードだけでなく submit=Login も必要な点がポイントです。 これを省いた場合、うまく認証されませんでした。 適切な POST データを送らないと、当然ではありますが弾かれてしまうようです。
ここで疑問になるのが、どのようなPOSTデータを送っているかということですが、これは Web ブラウザで実際に ログインして、そこで送った POST データを使うのが良いです。 今時のブラウザであれば、開発者向けのデバッグツールが付属しており、何を送ったかがわかるようになっています。 ちなみに、Vivaldi であれば右クリックから、「検証」をクリックです。 多分 Chrome も同じです。</description></item><item><title>Railsアプリ radvent インストールメモ</title><link>https://yendo.info/posts/2017/install_radvent/</link><pubDate>Wed, 08 Nov 2017 21:07:35 +0900</pubDate><guid>https://yendo.info/posts/2017/install_radvent/</guid><description>ども、遠藤です。
そろそろアドベントカレンダーの時期が近づいてきましたね！
アドベントカレンダーといえば Qiita が定番ですが、イントラ環境で動かしたい人など向けに Ruby on Rails 製の radvent というアプリケーションがあり、勤務先の社内アドベントカレンダーで使われています。
nanonanomachine/radvent: Advent calendar app for programmers like Qiita
このアプリはとても素晴らしいアプリなのですが、機能追加のリクエストとして 「新着コメントをトップページで見れるようにしてほしい」という声が上がっていました。 GitHub を見てみたところ issue も上がっているようでしたが、作者様ご多忙のようなので、自分で改良しようと考えました。
アプリを改良するためにはまず検証用に手元で radvent を起動してみたいところですが、 rails 初心者にはいくつかハマりどころがあったので、試行錯誤の顛末を簡単にまとめます。
(1) ruby 環境のインストール + Rails インストール そもそも Rails を動かすために、ruby を入れる必要があります。 まっさらの環境で ruby が入っていなかったので、下記サイトを参考にインストールしました。
rbenvでRubyを管理し、Rails開発環境を構築する | maesblog
ここでポイントは、システムに入っている ruby を使うのではなく、rbenv を使うということでした。 Python もそうですが、LL言語はバージョン間の違いが激しかったりするので、rbenv や pyenv のように 柔軟にバージョンを切り替えられるシステムは必須だと感じました。
なお、 radvent では ruby 2.1.5 が要求されている と言うのがちょっとしたハマリポイントでした。
(2) Javascript 実行環境のインストール 上記サイトの手順通りに Rails をインストールしたら、 $ bundle exec rails s でアプリケーションを立ち上げます。 しかし、エラーが出て立ち上がってくれません。</description></item><item><title>目指せ復職！リワーク施設を探してみた</title><link>https://yendo.info/posts/2017/rework/</link><pubDate>Fri, 03 Nov 2017 00:03:48 +0900</pubDate><guid>https://yendo.info/posts/2017/rework/</guid><description>どうも、遠藤です。
実は私、只今うつ病で休職中の身分だったりします。 今回は、復職に向けた取り組みとして、リワーク施設を探してみたので それについてまとめたいと思います。
これまでの経緯 入社して2年半ほど、常駐で組込み案件に携わっていたのですが、 そこでの無理がたたってうつ病を発症してしまいました。 その後、環境を変えてトライしてみようと転勤させてもらったものの 結局ダメなものはダメで、3ヶ月ほど休職していました。
3ヶ月の休職を経て復職した際、会社のご配慮で4時間のリハビリ時短勤務 からスタートさせていただき、少しずつ段階を踏んでフル勤務に戻れると 最初は期待を抱いていました。 しかし実際にやってみると、なかなか調子が戻らず、むしろ日を追うごとに 悪くなっていく一方で、フル勤務に戻るどころかかえって欠勤してしまうなど、 大変厳しい状況になってしまいました。
そこで、再度調子を立て直すべく、2度目の休職に入っている状態です。 今回は、万全の体制で復職を果たすべく、リワーク施設の利用を検討しています。
リワークとは うつ病で長期休職をしていると、生活リズムが狂ってしまったり集中力や思考力が落ちるなど、 様々な能力にハンデがついてしまいます。 そこで、ある程度症状が落ち着いた後に、復職に向けて徐々にトレーニングしていく方法が リワークと言われるものです。
リワーク施設ごとにプログラムの際はありますが、基本的には以下のような メニューを提供しているようです。
決まった時間に集まることで、生活リズムを整える 集団で認知行動療法などを行うことで、ストレスとの付き合い方を身につける オフィスワークを行うことで、業務遂行に必要な集中力等を回復する いずれも社会生活には必要な、できて当たり前のことです。 しかし、うつ病が進むとそんなあたり前のことすら出来なくなってしまいます。
うつ病で失われてしまった生活力を取り戻していくのが、リワークプログラムです。
調べたリワーク施設一覧 リワークプログラムは、大まかに分けると公的機関と医療機関等によって提供されています。 今回は、合計4つのリワーク施設を調べて、まとめてみました。
(1) 東京障害者職業センター(リワークセンター東京) ここは 高齢・障害・求職者雇用支援機構 という公的機関によって運営されているリワーク施設です。 東京では上野にあるようです。
この施設は無料で利用できるのが大きな特徴です。 利用するためのスケジュールとしては、
説明会(第2・第4火曜日)に参加する 体験コースに参加 リワーク開始(3ヶ月ほど) という感じになるそうです。
リワークを始めるまでの時間が結構掛かるということで、今のところ参加対象外としました。
東京障害者職業センター　障害のある方へのサービス｜高齢・障害・求職者雇用支援機構
(2) 東京都立中部総合精神保健福祉センタ－ こちらは会社の人事の人に教えてもらった施設です。
ここは都が運営する施設ですが、医療デイケアとして実施されており、料金がかかります。 施設を利用するには見学会の参加が必要で、見学会は毎月第1・第3水曜日に行われているそうです。
こちらも良さそうではあるのですが、やはりリワークを始めるまでの時間は結構掛かるようです。
うつ病リターンワークコース　東京都福祉保健局復職に向けて、職業能力を自分のペ－スで回復していくことを目指します。 ・オフィスワーク：　個別の状況に応じた課題を行います（脳トレ・各種の資格試験など） ・共働作業：木工作業で協調性を養います。 ・個別作業：正確性やスピード、集中力を養います。 ・ＤＢＴＲ：職場に適応するための方法を具体的な体験や練習を通して見つけていきます。 ...
(3) 三田こころの健康クリニック新宿 こちらは医療機関で実施するタイプのリワークです。 こちらのリワークを利用するためには、まず初診で診察を受けて、その後調整という流れになるそうです。
こちらのリワーク施設の特徴は、開始までの日程があまり長くならないことだそうです。 待機期間はなるべく減らしたいので、こちらの施設を使おうと今のところは考えています。 今度見学会に行ってくるので、参加したらレポートを書きたいと思います。
リワークプログラム職場復帰支援 | 三田こころの健康クリニック新宿 リワーク（職場復帰＆継続支援）</description></item><item><title>汎用人工知能搭載ヒューマノイドロボットを作ろうとしている人に出会った</title><link>https://yendo.info/posts/2017/agi_humanoid/</link><pubDate>Mon, 30 Oct 2017 23:20:33 +0900</pubDate><guid>https://yendo.info/posts/2017/agi_humanoid/</guid><description>ども、遠藤です。
今回は Team-AI さん主催の 汎用人工知能を作ろう という勉強会に参加してきました。 今回はその内容をレポートしたいと思います。
参加したきっかけ 人工知能がブームとなっている今日この頃、囲碁の世界では人間を超えるAIが登場したり AIを使った製品が世に出始めてきています。 しかし、今現在はあるタスクに特化した、弱いAIしかまだ実現されていません。
一方で、強いAIの分野はまだまだ発展途上ですが、そこにどのようなアプローチをしているのか 気になって参加してみました。
ヒューマノイドロボット　愛ちゃん 講師の伊藤さんが現在製作中のロボット「愛ちゃん」が展示されていました。 勉強会会場では移動の都合上 &amp;ldquo;生首&amp;rdquo; だけの参加でしたが、全身組み立てたものの 動画が公開されていました。
会場で展示されていた「愛ちゃん」には、光センサ、温度センサといったセンサ類が 色々と付いていて、センサの温度によってセリフを変えると言ったプログラムが 作り込まれていました。
汎用人工知能のゴールと道のり この勉強会では、ゴールとして 「人そのものを再現・脳の機能の実現」 といったレベルを目指して 開発を進めようとされているとのことでした。 そのためには、人間とは何かを問う哲学的な背景が必要ということで、デカルトの二元論 をベースにして、汎用人工知能が持つべき機能の分類が行われました。
大まかには意思決定や感情を司る精神と、五感や知識・記憶を持ち、学習機能を持つ肉体とに分けて、 それぞれをさらに細分化させていったモデルが提案されていました。 (分割図があったのですが、掲載許可を頂いていないので割愛します…)
演習として、「夕飯で何を食べるか考える時に、人間がどう考えているかを書き下す」 という課題が与えられ、その結果から伊藤さんの二元論的クラス分けが説得力を持った モデルであるというふうに感じました。 具体的には、人間は様々な思考を無意識のうちに行っていて、それらが二元論的クラス分けの 機能によく対応しているということが示されました。
この取組はまだプロトタイプの段階ではありますが、今後の進展をフォローしていきたいと思います。 一方で、汎用人工知能についてはまだまだ基礎研究の段階だと思いますので、 世界中の研究動向を知るべく、論文をもっと読まなければならないなと感じました。</description></item><item><title>実録！コードリーディング入門 ~ NumPy rollaxis &amp; transpose 編 ~ を公開したよ</title><link>https://yendo.info/posts/2017/numpy_code_reading/</link><pubDate>Sun, 22 Oct 2017 17:45:46 +0900</pubDate><guid>https://yendo.info/posts/2017/numpy_code_reading/</guid><description>ども、遠藤です。
この度、Qiita に 「実録！コードリーディング入門 ~ NumPy rollaxis &amp;amp; transpose 編 ~」 と題して、2つの記事を投稿しました。 これは、個人的な興味から numpy.rollaxis と numpy.transpose の実装について、コードリーディングを行った際の過程を詳らかに記したものです。
ソフトウェア開発に携わっていると、どうしてもコードを読む機会が出てきますが 大規模なソフトウェアの場合、どこから読めばいいのか、どう読んでいけばいいのかが わからず、呆然としてしまう場合があります。
この記事では、UNIX系の環境ならどこにでも入っている find &amp;amp; grep &amp;amp; less の3コマンドを駆使して、コードを読み解いていく過程を、なるべく手順を省かずに まとめています。 この記事が、コードリーディングに悩めるエンジニアの人の目に止まって、 役に立ってくれることを願うばかりです。
前編 と 後編 に分かれていますので まずは前編から目を通していただけると幸いです！
このブログと Qiita の使い分けが非常に悩ましいです。 Qiita のほうが SEO が効いていたり、ユーザー間のつながりがうまく作られているので 技術系の記事や論文読みのメモを Qiita に書いて、こちらのブログでは主に勉強会の 参加メモ等を書こうかなとは思っています。
いい感じの使い分けがあったら、ぜひ教えていただけるとうれしいです！</description></item><item><title>Design Solution Forum 2017 にいってきたよ！</title><link>https://yendo.info/posts/seminar/2017/design_solution_forum/</link><pubDate>Thu, 19 Oct 2017 14:46:42 +0900</pubDate><guid>https://yendo.info/posts/seminar/2017/design_solution_forum/</guid><description>ども、遠藤です。
RTLのお陰でソフトウェアとハードウェアの垣根がふわっとしているということで、 ソフトウェアエンジニアといえどもハードがわからないとダメだ という気持ちを持っています。 今回、ハードウェア寄りのセミナーを受けてみようということで、 Design Solution Forum にいってきました！
今回の講演では Deep Learning の推論を組込み環境で動かそう、という発表が多く、 図らずも最近の業務に近い話が聞けました。
クラウドコンピューティングが流行ってなんでもかんでもクラウドで動かそうという機運がありますが、 一方エッジ側でもある程度計算処理を動かす需要があると前から感じていました。
エッジ側でヘビーな計算処理を動かすためには、なるべく低電力で低コストなハードウェアが必要になりますし、 ソフトウェアも様々な制約条件が課せられるため、簡単ではないと思われます。 そんな状況で、ソフトウェアとハードウェア両方がわかる人間として、うまく橋渡しできる人間になりたいと思った 就活時代の私を思い出させる、いい時間を過ごすことができました。
講演内容ざっくりまとめ 下の方に各公演の内容をまとめていますが、全体を通してざっくりまとめました。
話題の大半は Deep Learning と RISC-V Deep の話は正直似通ったのが多かったので、RISCのセッションも聞きに行けばよかった AI(Deep Learning) 技術を活用するには、エッジ側での計算がある程度必要 エッジヘビーコンピューティングの需要は高そう 必要なのはストレージではなく、計算資源と、限られた計算資源で効率的に問題を解くアルゴリズムだと思われる Deep Learning では量子化(2値化、対数量子化)など、またその条件下で効率よく学習するアルゴリズムが必要 エッジ側の計算資源としては、組込みGPU or HWA (includes FPGA) RasPi の GPU では、情報公開が進み誰でもアセンブラをかける環境になった 組込みこそ、ヘテロジニアス・マルチコア構成となる時代へ 大規模になればなるほど自動生成のアプローチが重要 Deep Learning 等移り変わりの激しい状況下で、FPGAは有効 日本が世界と戦うためには依然モノづくり、AIを組込んだ製品で差別化したい 自動生成の話が複数 Keras/Chainerモデルから組込み環境向けC/RTLの生成など マルチコア向けとして、ドイツの Silexica が興味深い 受講メモ 各講演のポイントをざっくりまとめました。 流し読みがおすすめです。
基調講演: 自動運転的な話 Google は人間の介入なしに 8000km 走行可能なまでに進んでいる 各社 Level3 はスキップして、Level4 に進もうとしている Mobillity as a Service の時代がやってくる Session C-1: RasPi でディープの推論 Idein さん: モバイル向け組込みGPUを用いたエッジコンピューティングのベンチャー企業 RasPi 搭載 GPU の仕様が Broadcom より2014年に公開され、下記のツールを作った PyVideoCore: GPU用アセンブラ、実行基盤 QMKL: 数値計算ライブラリ QDNN: DNNライブラリ NN計算グラフコンパイラ・最適化 MLIR: 計算グラフを表現する中間言語 (?</description></item><item><title>「20代エンジニアのキャリア論」を聞いてきた</title><link>https://yendo.info/posts/seminar/2017/supporters_20s_career/</link><pubDate>Wed, 18 Oct 2017 23:49:52 +0900</pubDate><guid>https://yendo.info/posts/seminar/2017/supporters_20s_career/</guid><description>どうも、遠藤です。
サポーターズさん主催の 「20代エンジニアのキャリア論」 を聞いてきたので、レポートします。
個人的なまとめと所感 人間の幸福度と年収の関係を調べると、600万円あたりでサチるという話があり、個人的に興味深かったです。 確かに言われてみると、もともと転職のターゲットにしていたのが年収600万円で、そこまでいくと ある程度安心して生活が送れるレベルになるかなとおもい、今後の一つの基準になりました。
30代以降の未来をエンジニアとして生き抜いていく上で、単に技術力を磨くだけでは不十分だと考えさせられる、いいきっかけになりました。 よほどの技術力がないと技術力だけで生きていくのは難しく、いかに+αを出していくかを今後は考えていきたいと思います。 自分の場合は何が+αになるかというのはなかなか難しいところですが、これまでのキャリアでは思いの外幅広い経験を 積むことができたので、広い経験の中からドットを繋いでいけるような人間になれればいいなと思いました。
講演内容について 講演内容をかいつまんでまとめてみました。
エンジニアは非常に希少な存在であること 日本の労働人口のうち、ITエンジニアの割合はわずか 0.3% で、誰でもできる仕事ではないことを思い起こしてほしい マスコミがIT人材を登用するなど、今後も需要が右肩上がりで上がりづづける 貴重な人材として価値が有ることを認識してほしい 満足な人生を送るためのお金の話 人間の幸福度は年収600万円程度でサチる (米プリンストン大調査) 年収600万円 = 月収50万円 = 手取り40万円、欲しいものを買ったり外食する分には、困らない 日本の平均年収は420万円程度にとどまっているが、エンジニアであれば適切な場所で適切な評価を受ければ、20代で達成可能な水準である キャリアの分岐点は「新卒」・「3年目」・30歳」の3つある 新卒が一番の分岐点 新卒の時点が、最も企業の選択肢が多い 今後のキャリアや価値観を形成する、非常に重要な選択になる しかし、十分な情報がない中、うまく就活を進められない人も多数… → サポーターズのようなサービスを活用してほしい！ キャリア3年目 3年目になると、社内で中堅のポジションになってきて、同期間でも差が出始めてくる 転職市場ではもはや第2新卒とはみなされず、ポテンシャルではなくスキルで評価されるようになる キャリア3年 = 10,000時間、その道のプロとみなされるようになる 実力上位10%に位置するあたりから、エンジニアがよりよい条件を求めて転職を模索し始める 30歳 ベテランエンジニアとなり、同期間で圧倒的な差がついてしまう 技術力だけでなく +αが求められる ようになってくる 体力が落ちて自分の時間も減ってくる → 成長のハードルが上がる この時点までに、自分の実力を上位20%以上に持っていけば、年収600万円は現実的な数字になる エンジニアの実力を磨くためには？ 一番手っ取り早いのは、転職して自分が成長できる環境に身を置くこと 自分の1つ上のレベルの企業で、中の下くらいに位置していればなんとかなる むしろ、自分の実力でエース待遇されるような企業では、成長するのは難しい だから、自分の実力で入れる企業に固執する必要はない インプットとアウトプットを意識する インプット(勉強会に出る、プログラミングスクールに参加する)は、キャリアアップの入り口に過ぎない キャリアアップしたいなら、アウトプットを意識しろ！ 一番いいのは、副業やアルバイトをやること Wantedly で気になるサービスを展開している会社に声をかけてみるなど、見つける方法はいくらでも 自分でプロダクトを作ってみたり、ブログを書いてみるのもいい 億万長者になりたかったら、起業 or スタートアップに加わろう 力がとてもつくし、エキサイティングな経験を積むことができる 疲れるし失敗のリスクは有るが、億万長者になるチャンスが有る 億万長者になりたかったら、株 or ストックオプションを忘れずにもらうこと！ 必ずしも自分が起業するプランを持つ必要があるわけではない！ 世の中には、優れた経営者の卵がたくさんいる ベンチャーキャピタル運営のコワーキングスペースにいってみる IVS/ICCというのがある 他の人の経営のアイディア x 自分の技術力という組み合わせで道を切り開ける 質疑応答から 質疑応答でも、いくつか気になったトピックがありました。</description></item><item><title>ブログ始めました</title><link>https://yendo.info/posts/hello_world/</link><pubDate>Wed, 18 Oct 2017 14:30:16 +0900</pubDate><guid>https://yendo.info/posts/hello_world/</guid><description>はじめまして、ゆるふわエンジニアの遠藤です。 この度、アウトプットの場を作りたいということで、今更ながらブログをはじめました。
このブログでは、主に技術周りで勉強したこと・読んだ論文や参加した勉強会の紹介などを まとめていこうと考えています。 その他にも、これは書きたいと思ったことがあれば随時更新していきます。
三日坊主にならないよう、程々にやっていきたいと思いますので、よろしくお願いします。</description></item><item><title>About Me</title><link>https://yendo.info/about/</link><pubDate>Fri, 15 Nov 1991 01:23:45 +0900</pubDate><guid>https://yendo.info/about/</guid><description>Profile 「フルスタック × 技術士 × 教育者 ― 開発・マネジメント・育成を一貫して担う実践派エンジニア」
山形県を拠点に活動する、独立技術士（情報工学部門）およびソフトウェアエンジニアです。組込み・AI・Webシステムなど多分野に精通し、10年以上の実務経験を有しています。
2025年には、技術系国家資格の最高峰である 「技術士（情報工学部門）」 の登録を受けました。高度な専門的見識と技術者倫理を備えたプロフェッショナルとして、地方におけるIT導入やDX推進の伴走支援、次世代の技術者育成に尽力しています。
現在は大学院修士課程においてAIの研究に従事しており、継続的な研鑽を通じて最新技術の社会実装と公益の実現を目指しています。
Areas of Expertise 組込み開発: SSDファームウェア開発、Linuxデバイスドライバー、CPU命令レベルの最適化 AI・画像認識: PyTorch/OpenCVを用いた物体認識、AI-OCRアルゴリズムの設計・実装 Webシステム開発: Python (Flask/Django/FastAPI) を用いたバックエンド構築、AWS/GCPへの展開 教育・講師: 高等教育機関や社会人向け研修における情報工学・データサイエンス教育の設計 マネジメント: 起業経験に基づくプロジェクトマネジメントおよび組織風土の醸成 Career Professional Experience AnveIno技術士事務所 / 個人事業主 (2023 - 現在) 技術士（情報工学部門）として、ブロックチェーンウォレットの品質保証、AI-OCRを活用したDB開発、DXコンサルティングに従事。 自治体関係主催の社会人向けIT研修で講師を務め、実務経験に裏打ちされた丁寧な伴走支援が好評を博す。 山形県立産業技術短期大学校庄内校 非常勤講師 (2021 - 現在) 「情報工学」の講義を担当。アクティブラーニングを取り入れた実践的な教育を実施。 仙台デザイン&amp;amp;テクノロジー専門学校　講師 (2022 - 2023) 「コンピューター概論」・「IT数学基礎」・「データサイエンス基礎」等を担当。 ダーディット株式会社 代表取締役社長 (2019 - 2023) 自律走行ロボットの自律走行システム研究開発、Linuxデバイスドライバー開発、WebRTCを用いたビデオチャットシステム等の構築等を受託。 独自ディープラーニングアクセラレーターの開発に挑戦するなど、野心的なプロジェクトを進行。 個人事業主　エンジニア (2018 - 2019) AGV向けSLAMアルゴリズムの調査や強化学習を用いたWebアクセス解析の基礎調査などを担当。 株式会社フィックスターズ エンジニア (2014 - 2018) NVMe SSD製品のファームウェア開発および不具合解析。SIMD命令を用いたCNN処理の高速化。 Education 放送大学　大学院文化科学研究科 修士全科生 (2021 - 現在) 北陸先端科学技術大学院大学 修士課程　(2018 - 2021 中退) 仙台高等専門学校　専攻科 情報電子システム工学専攻 (2012 - 2014 修了) 仙台電波工業高等専門学校 情報工学科 (2007 - 2012 卒業)</description></item><item><title>Search</title><link>https://yendo.info/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://yendo.info/search/</guid><description/></item></channel></rss>