目次
14 関係: Apache License、バックプロパゲーション、ライブラリ、プログラム (コンピュータ)、データ構造、ディープラーニング、ニューラルネットワーク、オープンソース、C++、自然言語処理、Linux、Python、機械学習、教師あり学習。
Apache License
Apache License(アパッチ・ライセンス)は、Apacheソフトウェア財団 (ASF) によるソフトウェア向けライセンス規定。1.1以前は、Apache Software License(ASL)と称していた。著作権表示と免責事項表示の保持を求めている。1.1以降のバージョンはOpen Source Initiativeがオープンソースライセンスと承認している。GNUプロジェクトは、1.1以前のバージョンをGPL非互換で非コピーレフトのフリーソフトウェアライセンス、バージョン2.0をGPLバージョン3互換(GPL2以前とは非互換)のフリーソフトウェアライセンスと判断している。 ASFやそのサブプロジェクトが作成するソフトウェアは、すべてApache Licenseで提供されている。ASF以外のソフトウェアでもApache Licenseを使っているものがある。2010年6月現在、SourceForge.netにある5000以上のASF以外のプロジェクトがApache Licenseでリリースされている。
バックプロパゲーション
バックプロパゲーション(Backpropagation)または誤差逆伝播法(ごさぎゃくでんぱほう)はニューラルネットワークの学習アルゴリズムである。
ライブラリ
ライブラリ()は、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。ライブラリと呼ぶときは、それ単体ではプログラムとして動作させることはできない、つまり実行ファイルではない場合がある。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言える。ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがある。たとえば、UNIXのライブラリはオブジェクトコードをarと呼ばれるアーカイブツール(アーカイバ)でひとまとめにして利用する。図書館()と同様にプログラム(算譜)の書庫であるので、索引方法が重要である。 また、ソフトウェア以外の再利用可能なものの集合について使われることもある(音声データなど)。
見る DyNetとライブラリ
プログラム (コンピュータ)
JavaScriptで書かれたコンピュータプログラムのソースコード コンピュータプログラム(computer program)は、コンピュータに対する命令(処理)を記述したものである。programの原義は、前もって()書く()であり、いわゆるプログラミング言語の世代に応じて意味合いは変わっている。プログラム内蔵方式のコンピュータのCPUには、CPUで実行するプログラムの命令が必要である。
データ構造
データ構造(データこうぞう、data structure)とは、コンピュータプログラミングでの、データの集まりの形式化された構成である。格納された各データの参照や修正といった管理を容易にするための構成である。一定の関係性を持たせたデータ型のコレクションであり、データ値に適用するための関数や手続きも格納されることがある。データの代数的構造とも言われる。
見る DyNetとデータ構造
ディープラーニング
ディープラーニング()または深層学習(しんそうがくしゅう)とは、対象の全体像から細部までの各々の粒度の概念を階層構造として関連させて学習する手法のことであるディープラーニング(深層学習)の大家として世界的に知られるIan Goodfellow,Yoshua Bengio,Aaron Courvilleが著した"Deep Learning"という教科書のIntroductionの第4パラグラフ(pp.1-2)におけるディープラーニングの定義では、ニューラルネットワークについて全く触れられておらず、「概念の階層により、コンピューターは、単純な概念から複雑な概念を構築することにより、複雑な概念を学習できます。これらの概念がどのように相互に構築されているかを示すグラフを描くと、グラフは深く、多くの層があります。このため、このアプローチをAIディープラーニングと呼びます。」と概念の階層構造により定義している。
ニューラルネットワーク
(人工知能の分野で)ニューラルネットワーク(neural network; NN、神経網)は、生物の学習メカニズムを模倣した機械学習手法として広く知られているものでありCharu C.Aggarwal著『ニューラルネットワークとディープラーニング』(データサイエンス大系シリーズ)、学術図書出版社、2022年。ISBN 978-4780607147, 第一章「ニューラルネットワークとは」「はじめに」、pp.1-2、「ニューロン」と呼ばれる計算ユニットをもち、生物の神経系のメカニズムを模倣しているものである。人間の脳の神経網を模した数理モデル『2020年版 基本情報技術者 標準教科書』オーム社、p.55。模倣対象となった生物のニューラルネットワーク(神経網)とはっきり区別する場合は、人工ニューラルネットワーク (artificial neural network) と呼ばれる。
オープンソース
オープンソース(open source)は、専らを促進する目的で、コンピュータプログラムの著作権の一部を放棄し、ソースコードの自由な利用および頒布を万人に許可するソフトウェア開発モデル。この開発モデルでは、コンピュータで実行できるが人間が容易に理解・変更できないオブジェクトコードだけでなく、ソースコードも含めて自由な再頒布を許可するライセンスのもとで公開する。 オープンソースを推進するために設立されたオープンソース・イニシアティブは、ソフトウェアがオープンソースであるための要件を定めた「オープンソースの定義」を策定した。
C++
C++(シープラスプラス)は、汎用プログラミング言語のひとつである。派生元であるC言語の機能や特徴を継承しつつ、表現力と効率性の向上のために、手続き型プログラミング・データ抽象・オブジェクト指向プログラミング・ジェネリックプログラミングといった複数のプログラミングパラダイムが組み合わされている。C言語のようにハードウェアを直接扱うような下位層向けの低水準言語としても、複雑なアプリケーションソフトウェアを開発するための上位層向け高水準言語としても使用可能である。アセンブリ言語以外の低水準言語を必要としないこと、使わない機能に時間的・空間的コストを必要としないことが、言語設計の重要な原則となっている。
見る DyNetとC++
自然言語処理
自然言語処理(しぜんげんごしょり、Natural language processing、略称:NLP)は、人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術であり、人工知能と言語学の一分野である。「計算言語学」()との類似もあるが、自然言語処理は工学的な視点からの言語処理をさすのに対して、計算言語学は言語学的視点を重視する手法をさす事が多い。データベース内の情報を自然言語に変換したり、自然言語の文章をより形式的な(コンピュータが理解しやすい)表現に変換するといった処理が含まれる。応用例としては機械翻訳や仮名漢字変換が挙げられる。 自然言語の理解をコンピュータにさせることは、自然言語理解とされている。自然言語理解と、自然言語処理の差は、意味を扱うか、扱わないかという説もあったが、最近は数理的な言語解析手法(統計や確率など)が広められた為、パーサ(統語解析器)などの精度や速度が一段と上がり、その意味合いは違ってきている。もともと自然言語の意味論的側面を全く無視して達成できることは非常に限られている。このため、自然言語処理には形態素解析と構文解析、文脈解析、意味解析などをなど表層的な観点から解析をする学問であるが、自然言語理解は、意味をどのように理解するかという個々人の理解と推論部分が主な研究の課題になってきており、両者の境界は意思や意図が含まれるかどうかになってきている。
見る DyNetと自然言語処理
Linux
Linux(リナックス、他の読みは#「Linux」の読み方で後述)とは、狭義にはUnix系オペレーティングシステムカーネルであるLinuxカーネルを指し、広義にはそれをカーネルとして周辺を整備したシステム全体のことをいう(GNU/Linuxも参照)。
見る DyNetとLinux
Python
Python(パイソン)はインタープリタ型の高水準汎用プログラミング言語である。
見る DyNetとPython
機械学習
機械学習(きかいがくしゅう、)とは、経験からの学習により自動で改善するコンピューターアルゴリズムもしくはその研究領域で、人工知能の一種であるとみなされている。 典型的には「訓練データ」もしくは「学習データ」と呼ばれるデータを使って学習し、学習結果を使って何らかのタスクをこなすものとされる。例えば過去のスパムメールを訓練データとして用いて学習し、スパムフィルタリングというタスクをこなす、といったものである。
見る DyNetと機械学習
教師あり学習
教師あり学習(きょうしありがくしゅう, Supervised learning)とは、機械学習の手法の一つである。 既知の「問題」に対する「解答」を「教師」が教えてくれるという方法であり、「生徒」であるアルゴリズムが未知の「問題」に対応する「解答」を推論する事から名付けられたものである。そのような訓練に用いるデータを事を教師データとも呼ぶ。
見る DyNetと教師あり学習

