今日の積み上げ
今週号のメルマガのメイントピックは、Software2.0。機械学習の進歩により、ソフトウェアの作り方が根本的に変わりつつある。大きな「相転移」だ。ソフトウェア業界で働くのであれば、これを意識して働くことが大切。(続く)
— Satoshi Nakajima @NounsDAO 🇺🇦 (@snakajima) 2023年2月21日
中島さんのこのツイートで、機械学習のワードに絡めてSoftware 2.0という聞きなれない言葉を初めて目にしました。
いったい、Software 2.0って何なのか?
ググってみると、ある1つの記事がこの言葉の発祥の由来となっている、ということがわかりました。
その記事がこちら。
2017年11月の記事ですが、翻訳して読んでみると興味深い文章があります。
2.0 スタックでのプログラミング
ソフトウェア 1.0 は私たちが書くコードです。ソフトウェア 2.0 は、評価基準 (「このトレーニング データを正しく分類する」など) に基づいて最適化によって記述されたコードです。プログラムが明らかではないが、そのパフォーマンスを繰り返し評価できる設定 (たとえば、いくつかの画像を正しく分類しましたか? 囲碁で勝ったか?) は、この移行の対象となる可能性があります。人間が書くよりもはるかに優れたコードを見つけます。
評価基準!!
いま読んでる「評価指標入門」の内容とも絡んでいるので、自分の興味がある分野と繋がりのあるワードであることがわかりました。
なるほど。
当初、機械学習というものはデータ利活用の文脈で活かされるもの、という理解しかありませんでしたが、どうやらソフトウェア開発にも影響を与えるものである、と。
しかも、中島さんの言葉を借りれば、
「根本的に」変わる、という表現がSoftware 2.0のインパクトの強さを物語っています。
機械学習を始めたばかりの、いまこのタイミングで、こうした記事に出会えたことの不思議さ。
これは、シンクロニシティ、以外の何ものでもないでしょう。(きっと)
これからより一層、機械学習に注力していきなさい、学ぶを深めるべき道はこの方向性で正しいですよ、と思えてならないので、このまま突き進もうと思ってます!
その他
DSL輪読会の発表原稿を作成する際、xやyといった変数だったり、数式だったり、記号だったり、いったいどうやっているんだろう?と思っていた謎が解けました!
こういうのは知ってる人は知っているネタなんだろうけど、今までパワポで数式を書くことなんてなかったので、発見できてすごく得した気分になりました。
それでは、また。