プログラマー向けの人工知能

人工知能の開発は成功しましたが、それに対する「正しい」定義はまだありません。 ニューロコンピューターに対する期待が実現しなかったのはなぜですか?人工知能の作成者が直面している3つの主なタスクは何ですか?



これらの質問やその他の質問への答えは、ABBYYの技術開発部門のディレクターであるコンスタンティンアニシモビッチ氏のスピーチに基づいて書かれた記事の下にあります。

彼の個人的な参加により、ABBYY FineReaderおよびABBYY FormReader製品で使用されるドキュメント認識テクノロジーが作成されました。 Konstantinは、Mail.Ru Technoparkの学生向けワークショップの1つで、AI開発の歴史と基本について話をしました。 マスタークラスの材料は、一連の記事の基礎になりました。



サイクルには3つの投稿があります。

プログラマー向けの人工知能

知識の応用:状態空間検索アルゴリズム

•知識獲得:知識工学と機械学習



AIアプローチの浮き沈み



1950年代以来、人工知能を作成する分野で、シンボリックコンピューティングとコネクショニズムという2つのアプローチが登場しました。 シンボリックコンピューティングは、人間の思考のモデリングに基づく方向であり、コネクショニズムは、脳の構造のモデリングにあります。



シンボリックコンピューティングの分野における最初の成果は、1950年代に作成されたLisp言語と、推論の分野でのJ.ロビンソンの研究でした。 コネクショニズムでは、そのようなパーセプトロンの作成-ニューロンの動作をシミュレートする自己学習線形分類器です。 さらに顕著な成果は、主に象徴的なパラダイムと一致していました。 特に、これは、知覚心理学の分野でのシーモア・パイパートとロバート・アントン・ウィンソンの仕事であり、もちろん、マーヴィン・ミンスキーの枠組みです。



70年代に、人工知能の要素を使用した最初の応用システム-エキスパートシステムが登場しました。 その後、多層ニューラルネットワークの出現と、バックプロパゲーション法によるトレーニングのアルゴリズムとのコネクショニズムのあるルネッサンスがありました。 80年代には、ニューラルネットワークに魅了されていました。 このアプローチの支持者は、人間の脳のように機能するニューロコンピューターを作成することを約束しました。



しかし、実際のニューロンは、多層ニューラルネットワークの基になっている正式なニューロンよりもはるかに複雑であるため、これについて特別なことは何もありませんでした。 また、人間の脳内のニューロンの数も、ニューラルネットワークで許容できる数よりはるかに多くなっています。 多層ニューラルネットワークが適切であることが判明した主な理由は、分類問題を解決するためです。



人工知能の分野で次に人気のあるパラダイムは、機械学習でした。 このアプローチは80年代の終わりから急速に発展し始め、今日まで人気が失われることはありません。 機械学習の発展への大きな推進力は、インターネットの出現と、アルゴリズムをトレーニングするために使用できるさまざまな容易に入手可能な多数のデータによってもたらされました。



人工知能の設計における主なタスク



人工知能に関連する関連タスクを作成することを分析できます。 それらに共通しているのは、よく知られ、明確に定義された決定手順がないことです。 実際、これはAIに関連するタスクであり、コンパイル理論や計算数学の問題とは異なります。 インテリジェントシステムは、問題に対する次善のソリューションを探しています。 人工知能が見つけた解決策が厳密に最適であることを証明することも保証することもできません。 それにもかかわらず、ほとんどの実際的なタスクでは、次善のソリューションがすべての人に適しています。 さらに、人が問題を最適に解決することはほとんどないことを覚えておく必要があります。 むしろ、反対。



非常に重要な問題が発生します:解決アルゴリズムがない問題をAIはどのように解決できますか? 一番下の行は、人が行うのと同じ方法でこれを行うことです-提唱し、もっともらしい仮説をテストします。 当然、仮説を提示してテストするには、知識が必要です。



画像 知識は、インテリジェントシステムが動作するサブジェクト領域の説明です。 自然言語の記号を認識するためのシステムがある場合、知識には記号の構造、テキストの構造、および言語の特定のプロパティの説明が含まれます。 顧客の信用格付けシステムである場合、顧客のタイプの知識と、顧客プロファイルがその潜在的な非信用力にどのように関連しているかの知識を持っている必要があります。 知識には2つのタイプがあります-サブジェクト領域に関するものと、ソリューションの検索(メタ認知)に関するものです。



インテリジェントシステムを設計する主なタスクは、知識を表現する方法、知識を取得する方法、および知識を適用する方法の選択に限定されます。



知識表現



知識を表すには、宣言型と手続き型の2つの主な方法があります。 宣言的知識は、構造化または非構造化形式で提示できます。 構造化表現は、フレームアプローチの1つまたは別の種類です。 セマンティックネットワークまたは形式的な文法。これらは、フレームのタイプと見なすこともできます。 これらの形式の知識は、多数のオブジェクトとそれらの間の関係の形で提示されます。





通常、非構造化表現は、分類問題の解決に関連する分野で使用されます。 これらは通常、重み、確率などの推定値のベクトルです。



知識の構造化された表現のほとんどすべての方法は、1970年代にMITのマービンミンスキーによって空間シーンを知覚するための知識の構造を示すために導入されたフレームの形式に基づいています。 結局のところ、このアプローチはほとんどすべてのタスクに適しています。



フレームは、名前とスロットと呼ばれる個々のユニットで構成されます。 スロットの値は、別のフレームへのリンクになる可能性があります...フレームは、別のフレームの子孫になることができ、そこからスロットの値を継承します。 この場合、子孫は祖先スロットの値を再定義し、新しいスロットを追加できます。 継承は、記述をよりコンパクトにし、重複を避けるために使用されます。



フレームとオブジェクト指向プログラミングの間には類似性があり、フレームはオブジェクトに対応し、スロットはフィールドに対応していることに気付くのは簡単です。 フレームはOOPのソースの1つであるため、類似性は偶然ではありません。 特に、最初のオブジェクト指向言語の1つであるSmall Talkは、オブジェクトとクラスのフレーム表現をほぼ正確に実装しました。



知識の手順の提示には 、製品または生産規則が使用されます。 生産モデルは、知識を「条件アクション」文の形式で提示できるようにするルールに基づいたモデルです。 このアプローチは、以前はさまざまな診断システムで一般的でした。 症状、問題または機能不全を状態の形で、アクションの形で、これらの症状の存在につながる可能性のある機能不全を記述するのは十分に自然です。



次の記事では、知識を適用する方法について説明します。



参照資料



  1. ジョン・アラン・ロビンソン。 解決原理に基づく機械指向のロジック。 ACMの通信、5:23-41、1965。
  2. シーモア・パペット、マービン・ミンスキー。 パーセプトロン。 MIT Press、1969
  3. マービン・ミンスキー。 シンボリックvs. コネクショニスト、1990
  4. マービン・ミンスキー。 知識を表現するためのフレームワーク。 MIT AI Laboratory Memo 306、1974年6月。
  5. ラッセル、ノービグ。 人工知能:現代のアプローチ。
  6. サイモン・ヘイキン ニューラルネットワーク:包括的な基盤。
  7. ニルス・J・ニルソン。 人工知能:新しい統合。



All Articles