これはレビュー記事です。 それは偏りもあります。 スペシャリストではなく、物事を作ったり問題を解決したりするジェネラリストやメーカーが増えれば、世界はもっと良い場所になると思います。
過去 5 年間で、機械学習ははるかに簡単になりました。 同時に、ソフトウェア エンジニアリングはかつてないほど複雑になっています。 ソフトウェアエンジニアにとって、これは素晴らしいことです。 しかし、機械学習の専門家にとってはそうではありません。 これは、ML がソフトウェア エンジニアリングへ、データ サイエンスがデータ分析へと進化したものです。 機械学習ツールはより利用しやすくなっている ML が成長するにつれて、クラウド サービスの市場も拡大し、アルゴリズムを理解することの価値は低下しました。 昔々、私たちはアルゴリズムを手作業でコーディングしていました。 Sklearn では、数行のコードで同じことを実行できます。 オリジナルのTensorFlowは使いにくいです。 Keras を使えばすべてが簡単になります。 Google、Microsoft、Amazon は現在、クラウド内でモデルを選択、トレーニング、調整し、そのモデルを API 経由で即座に利用できるようにするサービスを提供しています。 誰でも AI をトレーニングできますが、時間がかかります。 しかし、複雑さが減るにつれて、経験豊富なソフトウェア エンジニアにとってのもう 1 つのツールになります。 機械学習の開発は少数の言語に集中している 言語は堀です。 期間 COBOL を知っていますか? もし知っていたら、あなたには一生の仕事があります。 世界の金融システムはこれに依存しています。 もう誰も COBOL を学びません。 機械学習のほとんどは Python で実装されていますが、ソフトウェア開発は多くの言語にまたがっています。 > https://www.tiobe.com/tiobe-index/ すべての ML エンジニアが Python の経験を持っている場合、すべての ML エンジニアと競争することになります。 ソフトウェアに関しては、同じテクノロジーを使用する一部のエンジニアとしか競争できません。 高給の Ruby on Rails の仕事がこんなにたくさんあることにいつも驚かされます。 これは何年も前に廃止されましたが、多くの大企業 (Shopify、Instacart、Kickstarter など) はレガシーな理由からこれを使い続けています。 複数の言語を学ぶことは絶対に可能ですし、学ぶべきです。 優れたソフトウェア エンジニアになるには、これが重要です。 ソフトウェアエンジニアリングには幅広いスキルが含まれる ソフトウェア エンジニアには、あらゆることについて少なくともある程度理解していることが求められます。 > 簡単なスケッチ バックエンドエンジニアはブラウザがどのように動作するかをまだ知っています。 フロントエンドエンジニアは、データベースの概念をいくつか持っています。 どちらも、SQL インジェクションなどのセキュリティ脆弱性を防ぐことができます。 ソフトウェアを徹底的に理解することで、専攻の変更が容易になります。 また、エンドツーエンドのソリューションを構築することもできます。 幅広いスキルセットを持つソフトウェア エンジニアは、曖昧な環境にもより適しています。 需要が増加するにつれて、ソフトウェア エンジニアはデータ サイエンスに目を向けることが多くなります。 対照的に、データ サイエンティストがソフトウェアを開発する可能性は低くなります。 ハードコードされた条件付きロジックの代替として ML に注目する人が増えるにつれ、ML に取り組むソフトウェア エンジニアが増えるでしょう。 有能なフルスタック開発者になるには何年もかかる 多くの個別のスキルを網羅しています。 データベースの最適化、API マイクロサービスの構築、レスポンシブなフロントエンドの構築には、文字通り共通点がまったくありません。 3 つの異なる言語で実装できます。 これらの分野では自動化はほとんど見られません。 対照的に、フルスタック ML エンジニアはますます強力な AutoML を完成させており、そのための SOP を記述し、分類子のトレーニング作業をインターンに委託することができます。 ソフトウェア エンジニアリング スキルセットのすべてのコンポーネントが存在しなくなるまでには、しばらく時間がかかるでしょう。 機械学習は製品ではなく、製品を補完するものである(通常は) AI を主力製品とする企業は少数ですが、ほとんどの企業は AI を既存の製品を補完するために使用しています。 Medium は記事の推奨を得るために機械学習を使用するかもしれませんが、コア製品は執筆/出版プラットフォームです。 興味深いことに、ほとんどの企業は単純で類似したユースケースに ML を使用しています。 これにより、単一の企業が上記のユースケースを SaaS 製品として提供することが容易になります。 すると突然、スタートアップ企業は社内で何かを作る必要がなくなったのです。 インフラは極めて複雑化している AWS は 200 を超えるさまざまなクラウド サービスに拡大しました。 クラウドでアプリケーションを実行する Heroku の PaaS アプローチは素晴らしいです。 しかし、規模を問わず、非常に高価になります。 そのため、今ではまったく新しいクラウド スタック (ネットワーク、データベース、サーバー) を管理する必要があり、小さな追加によって大きなセキュリティ ホールが生じる可能性があります。 「クラウド エンジニアリング」と呼ばれる開発のサブセット全体があり、その仕事は AWS、GCP、または Azure 上でソフトウェアを実行することです。 中小企業では、インフラストラクチャの管理は上級開発者の手に委ねられることが多いです。 これは複雑な問題です。 しかし、それはまた、再現するのが難しい仕事やスキルを意味します。 フロントエンド開発は進化している フロントエンド開発を独力で習得するのはスキルです。 開発を始めた頃は、jQuery を使用してレスポンシブなフロントエンドを構築できました。 その後、同社は Angular または React に移行しました。 Angular は Angular 2 になります (重大な変更あり)。 React はクラスから関数コンポーネントに移行し、フックを追加しました。 上記のフレームワーク/ライブラリはすべて、根本的に異なる方法で動作します。 いくつかの企業が、モデルに基づいてフロントエンドを自動的に生成することに取り組んでいます。 しかし、同僚の間では、製品の品質にはまだ程遠いという意見で一致しています。 フロントエンド開発の技術力とピクセルの完璧さに対する感覚が組み合わさって、一時的に驚異的になります。 結論は ソフトウェア開発は複雑であり、さまざまな問題が伴います。 この複雑さは雇用にとって良いことです。 しかし、さらに重要なのは、幅広いスキルセットにより、エンドツーエンドの問題解決能力が強化されることです。 一般の人々が自分たちのコミュニティの問題を解決できる社会を構築するには、ソフトウェア エンジニアリングが最適な出発点です。 機械学習の余地はあるでしょうか? もちろんあります。 しかし、モデルをトレーニングすることよりも、問題を解決することの方が重要です。 ソフトウェアエンジニアリングを学びます。 物を作る。 問題を解決してください。 |
<<: IBMは顔認識技術の開発を中止し、議会に書簡を送った。
>>: 機械学習を予知保全に適用するにはどうすればよいでしょうか?
序文ドイツ連邦政府は2018年に「ドイツ人工知能開発戦略」を発表し、人工知能分野におけるドイツの研究...
[[190844]] DL の難しさは、問題をどのような視点から見るかによって決まります。数学を勉...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
新しいインフラの下で、産業インターネット、5G基地局建設、都市間高速鉄道と都市間軌道交通、新エネルギ...
人工知能の急速な発展は目まぐるしく、教育、特に教師への影響は甚大です。人工知能は、退屈で面倒な仕事に...
現在、多くのディープラーニング モデルがモバイル アプリに組み込まれています。デバイス上で機械学習を...
AIの応用が広まるにつれ、ディープラーニングは現在のAI研究と応用の主流の方法となっています。膨大...
PyTorch でモデルを構築します (主に NN モジュール)。 nn.リニアnn.Linear ...
脳コンピューターインターフェース分野で新たなニュースがあります。 IEEE Spectrum による...
[[355038]]ビッグデータ時代には、「顔」が重要なデータ情報です。顔認識技術は、その独自性と優...
ニューラル ネットワーク アルゴリズムと機械学習における人類の現在の成果に基づくと、コンピューター ...
ディープネットワークは機械学習の研究・応用分野に大きな影響を与えてきましたが、同時にディープネットワ...