ブックマーク / atmarkit.itmedia.co.jp (18)

  • 機械学習の主な手法、「教師あり学習」「教師なし学習」「強化学習」はどう違うのか

    ガートナーの米国社発のオフィシャルサイト「Smarter with Gartner」と、ガートナー アナリストらのブログサイト「Gartner Blog Network」から、@IT編集部が独自の視点で“読むべき記事”をピックアップして翻訳。グローバルのITトレンドを先取りし「今、何が起きているのか、起きようとしているのか」を展望する。 不正検知から画像認識、自動運転車まで、機械学習(ML)と人工知能AI)は、あらゆる産業に革命を起こそうとしている。両者の組み合わせにより、われわれがデータを扱い、活用してデジタル成長を実現する方法が変わりそうだ。 機械学習人工知能の下位領域であり、マシンが明示的なプログラミングに従うのではなく、データ内のパターンを識別することで問題解決モデルの構築を可能にする。機械学習ではアルゴリズムがデータ内のパターンを識別し、そのパターンを使ってモデルを微調整し

    機械学習の主な手法、「教師あり学習」「教師なし学習」「強化学習」はどう違うのか
    saruzo69
    saruzo69 2020/09/04
  • PyTorchでオートエンコーダーによる画像生成をしてみよう

    連載目次 前回までは、ニューラルネットワークの基となる要素(全結合型のニューラルネットワーク、CNN、RNN)について見てきました。基礎知識編は取りあえず前回までとします。今回からは、もう少し高度な話題にチャレンジしていこうと思います。 題に入る前に、応用実践編のスタートとして、連載の成り立ちや趣旨、目的について、あらためて簡単に紹介しておきます。筆者自身、@IT/Deep Insiderフォーラムが始まってから、ディープラーニングを格的に学び始めた者の一人です。そんな筆者が、まるで「工作室や実験室、ガレージ」で何か面白いものを作りながら、ディープラーニングについての理解を深めていき、その体験や知見を読者と共有していこう、というのが連載の趣旨/目的です。連載名「作って試そう! ディープラーニング工作室」にはそういった意味があります。読みやすさを考え、一部、解説記事として同じような

    PyTorchでオートエンコーダーによる画像生成をしてみよう
    saruzo69
    saruzo69 2020/07/14
  • 第4回 知ってる!? TensorFlow 2.0最新の書き方入門(初中級者向け)

    第4回 知ってる!? TensorFlow 2.0最新の書き方入門(初中級者向け):TensorFlow 2+Keras(tf.keras)入門(1/2 ページ) TensorFlow 2.x(2.0以降)では、モデルの書き方が整理されたものの、それでも3種類のAPIで、6通りの書き方ができる。今回は初心者~初中級者にお勧めの、SequentialモデルとFunctional APIの書き方、全3通りについて説明する。 連載目次 前回までの全3回では、ニューラルネットワークの仕組みや挙動を図解で示しながら、TensorFlow(tf.keras)による基的な実装方法を説明した。しかし実際には、TensorFlowの書き方はこれだけではない。 TensorFlowにおける、3種類/6通りのモデルの書き方 3種類のAPI 大きく分けて、下記の3種類があることを第2回で説明済みである。 Seq

    第4回 知ってる!? TensorFlow 2.0最新の書き方入門(初中級者向け)
    saruzo69
    saruzo69 2020/02/27
  • 機械学習の精度を左右する「データ加工」の基礎知識――「攻めのデータ加工」=「特徴量エンジニアリング」編

    機械学習の精度を左右する「データ加工」の基礎知識――「攻めのデータ加工」=「特徴量エンジニアリング」編:「AIエンジニアになるための「基礎数学」再入門(5)(1/2 ページ) AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す連載。前回から2回に分けて「データ加工」の手法を紹介します。今回は「攻めのデータ加工」です。 AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す連載『「AIエンジニアになるための「基礎数学」再入門』。初回は、「AIエンジニア」になるために数学を学び直す意義や心構え、連載で学ぶ範囲についてお話ししました。 また第2回では、データの種類を紹介しました。そこでは、数値としてのデータ自体、あるいはその統計量には尺度によって意味のあるもの(=情報として価値があるもの)と、そうでないものがあるこ

    機械学習の精度を左右する「データ加工」の基礎知識――「攻めのデータ加工」=「特徴量エンジニアリング」編
    saruzo69
    saruzo69 2019/10/02
  • [Python入門]クラスの継承

    クラスの役割 連載では以前に、関数は「何らかの定型処理を行うひとまとまりのコードを再利用する」ための仕組み、パッケージやモジュールは「複数の関数などを1つ以上のファイルにまとめることで、それらを他のコードから再利用する」ための仕組みといった話をしてきた。クラスもそうした「コードの再利用を可能にする」仕組みの一つだ。 クラスとは「何らかのデータ(インスタンス変数)と、それらを処理するためのコード(メソッド)をひとまとめにして名前を付けることで、後からそれらを再利用する」ための仕組みといえる。なお、モジュールやパッケージでクラスを定義すれば、それらももちろんインポートして利用できるようになる。 今述べたような「何らかのデータと、それらを処理するためのコード」を1つの単位(オブジェクト)として考え、「さまざまなオブジェクトを、メソッド呼び出しを通じて、どのように作用させていくかを記述することで

    [Python入門]クラスの継承
    saruzo69
    saruzo69 2019/08/11
    “[Python入門]クラスの継承 (1/2)”
  • [Python入門]クラスを使ってスタックとキューを作成する

    スタックとキュー コンピュータ上で動作するプログラムではよく「スタック」と「キュー」と呼ばれる形式でデータが使われる。これらはいずれも複数のデータを保管して、それを取り出すために使われるデータ構造だが、データの取り出し方に違いがある。 プログラミングの世界における「スタック」(stack)とは「データを積み重ねたもの」という意味を持っている。 上の画像に示したように、スタックではデータは順番に積み重ねられていく。スタックにデータを積むことを、「プッシュ」という。これに対して、プッシュされたデータを取り出すことを「ポップ」と呼ぶ(「プル」と呼ぶこともある)。プッシュされたデータをポップする(取り出す)際には、直近にプッシュされたものが取り出される。スタックは「後に入れたデータが先に出てくる」データ構造といえる。これを「Last-in, First-out」「LIFO」「後入れ先出し」などと表

    [Python入門]クラスを使ってスタックとキューを作成する
    saruzo69
    saruzo69 2019/08/07
  • 「AI・機械学習の勉強を始めたい」「AIサービスを作りたい」人のための技術情報フォーラムです!

    AI機械学習の勉強を始めたい」「AIサービスを作りたい」人のための技術情報フォーラムです!:@IT/Deep Insiderの歩き方 AI技術者を応援するフォーラム「Deep Insider」が@ITに登場してから2年目。その背景やメディアのコンセプト、編集方針などをご紹介するとともに、スキルレベル別のAI機械学習の学習方法と、それらのレベルに応じたフォーラムのお勧めコンテンツ、準備中の記事企画についてご紹介しよう。

    「AI・機械学習の勉強を始めたい」「AIサービスを作りたい」人のための技術情報フォーラムです!
    saruzo69
    saruzo69 2019/07/13
    “「AI・機械学習の勉強をこれから始めたい」という人のためのAI技術情報フォーラムです!”
  • Python 2系終了のタイムリミット迫る。早く「3系」に切り替えよう

    Python 2系終了のタイムリミット迫る。早く「3系」に切り替えよう:気になるニュース&ネット記事 2019年も折り返しであと半年。Python 2系統のサポートが終了し、各種ライブラリもPython 2系向けが提供されなくなっていく。そろそろ「Python 3系統」に切り替えよう。

    Python 2系終了のタイムリミット迫る。早く「3系」に切り替えよう
    saruzo69
    saruzo69 2019/06/27
  • 怪しいアプリも安全にテストできる新機能「Windowsサンドボックス」を使ってみる

    2019年5月下旬に提供が開始されたWindows 10の春の機能アップデートである「Windows 10 May 2019 Update」ではさまざまな新機能が追加されている(新機能の概要については、Windows 10 The Latest「待望の機能アップデートWindows 10 May 2019 Update』の主な変更点」参照のこと)。この中の目玉機能の1つが、今回取り上げる「Windowsサンドボックス(Windows Sandbox)」だ。 Windowsサンドボックスは、CPUが持つ仮想マシン支援機能(Intel VT/AMD-V)を利用するソフトウェアのテスト環境である。仮想マシンの中でWindows 10(以下ゲストWindowsと呼ぶ)を起動でき、その中でさまざまなテストを行える。なお、WindowsサンドボックスはWindows 10 Homeではサポートされて

    怪しいアプリも安全にテストできる新機能「Windowsサンドボックス」を使ってみる
    saruzo69
    saruzo69 2019/06/21
    “怪しいアプリも安全にテストできる新機能「Windowsサンドボックス」を使ってみる”
  • [Python入門]ローカル関数とラムダ式

    Pythonでは、関数を変数に代入したり、関数の引数や戻り値に使用したりできる。この特性と、簡潔に関数を記述できるようにするラムダ式について見ていく。

    [Python入門]ローカル関数とラムダ式
    saruzo69
    saruzo69 2019/05/28
    “[Python入門]ローカル関数とラムダ式 (1/3)”
  • [Python入門]関数の引数

    * 稿は2019年5月21日、2022年6月17日に公開/改訂された記事を、Python 3.12.0で動作確認したものです(確認日:2023年10月16日)。 前回はPythonの関数の基礎知識を紹介した。関数呼び出しの方法、ユーザー定義関数の定義方法などがそうだ。今回は、位置指定引数とキーワード引数、パラメーターにデフォルト引数値を持たせる方法、可変長引数など、関数の引数について少々詳しく見ていこう。

    [Python入門]関数の引数
    saruzo69
    saruzo69 2019/05/21
  • [Python入門]for文による繰り返し処理

    繰り返し処理とは プログラムのよいところは、人にとっては面倒くさいことであっても、文句をいうことなく黙って繰り返し実行してくれるところだ。例えば、文字列を構成する一つ一つの要素を1文字ずつ画面に表示したいとする。繰り返し処理を使わなければ、これは次のようになる(実行結果は省略)。 message = 'Hello Python' print(message[0]) print(message[1]) print(message[2]) print(message[3]) print(message[4]) print(message[5]) print(message[6]) print(message[7]) print(message[8]) print(message[9]) print(message[10]) print(message[11])

    [Python入門]for文による繰り返し処理
    saruzo69
    saruzo69 2019/05/10
  • 人工知能(AI:Artificial Intelligence)とは?

    機械学習とは、データから学習することで、適切な知的ふるまいを人工的に実現すること、もしくはその研究分野を指す。人間は、経験から学ぶことによって適切な知的ふるまいが行えるようになる、と考えられる。例えば、リンゴやミカンなど何度もフルーツを見ることによって、フルーツの種類を見分けられるようになる。機械学習も同じで、データから学ぶことによってフルーツを識別できるようになる。 その機械学習の一手法として大注目されているのがディープラーニング(深層学習)である。2010年代以降に急速に人気を高め、「第3次」と呼ばれる新たな人工知能ブームを巻き起こしている。ディープラーニングは、画像認識(例えば画像からの犬やなどの判定)や音声認識、さらには自動運転技術と、さまざまな分野への応用が始まっており、今後もさらに発展することが期待されている。 以下では、幾つかの観点から、人工知能をできるだけ簡潔に説明する。

    人工知能(AI:Artificial Intelligence)とは?
    saruzo69
    saruzo69 2019/05/09
  • 「WPA3」に脆弱性、最新のWi-Fiセキュリティプロトコルにもパスワード盗難の恐れあり

    Wi-Fiセキュリティプロトコル「WPA3」に複数の脆弱(ぜいじゃく)性があり、これらを悪用した「効率的で低コスト」な攻撃により、無線ネットワークのパスワードが盗まれる恐れがあることが明らかになった。 これを受け、スロバキアのセキュリティ企業ESETが2019年4月11日(現地時間)、公式ブログに解説記事を掲載した。以下、主な内容を紹介する。 WPA3は、無線LANの業界団体Wi-Fi Allianceが2018年6月に発表したプロトコル。Wi-Fiセキュリティの向上が図られており、デバイス間の安全な鍵確立プロトコルであるSAE(Simultaneous Authentication of Equals)によるハンドシェイク(通称:Dragonfly)を利用している。 これにより、第三者がパスワードを推測する可能性を大幅に引き下げることができた。さらにユーザーの指定したパスワードが一般的に

    「WPA3」に脆弱性、最新のWi-Fiセキュリティプロトコルにもパスワード盗難の恐れあり
    saruzo69
    saruzo69 2019/04/15
  • SSLによる安全なWebサイト作り

    アクセス制限をもってしても、盗聴や改ざんには対応できない。通信経路をセキュアにしなければならない。今回は、SSLを用いてより信頼性の高いWebサイトを構築する方法を紹介する。 IP認証、ユーザー認証、データベース認証と、Webコンテンツの閲覧を制限する方法を順に紹介してきた。しかし、盗聴や改ざんには対応できない。従って、悪意を持った第三者が、個人情報や機密情報を盗聴するかもしれない。ちょっと探せば、ネットワークの通信を盗聴するためのツールが無料で公開されているのが現実だからだ。 盗聴や改ざんから身を守るには、通信信号を暗号化するのが最も簡単かつ確実な方法である。Web、すなわちHTTPの通信の暗号化には、SSL(Secure Socket Layer)を用いるのが一般的だ。なお、ApacheへのSSLの組み込み方法については連載第4回の「ApacheのSSL対応化と環境設定」を参照していた

    SSLによる安全なWebサイト作り
    saruzo69
    saruzo69 2019/04/06
  • Python向け日本語自然言語処理ライブラリ「GiNZA」、リクルートがGitHubで公開

    リクルートは2019年4月2日、Python向け日語自然言語処理ライブラリ「GiNZA(ギンザ)」をオープンソースソフトとして公開したと発表した。1.0.1版では新元号「令和」にも対応した。 公開したのは同社のAI人工知能)研究機関であるMegagon Labs。同ライブラリでは、国立国語研究所との共同研究成果の学習モデルを用いた。 GiNZAは、Python向けの自然言語処理ライブラリ「spaCy」をフレームワークとして利用し、オープンソースの形態素解析器「Sudachi」のPython版である「SudachiPy」を内部に組み込んだ。 import spacy nlp = spacy.load('ja_ginza_nopn') doc = nlp('依存構造解析の実験を行っています。') for sent in doc.sents: for token in sent: print

    Python向け日本語自然言語処理ライブラリ「GiNZA」、リクルートがGitHubで公開
    saruzo69
    saruzo69 2019/04/06
  • 無断でダウンロードしたデータでもAI開発に使える? 改正著作権法を弁護士が解説

    無断でダウンロードしたデータでもAI開発に使える? 改正著作権法を弁護士が解説:“おいしいデータ”で、成果が出るAIモデルを育てる(1)(1/2 ページ) AIモデル開発を目的とするなら、著作権者に許諾を得ずとも、データのダウンロード、整形、加工がより広い範囲で行えるようになった。弁護士法人STORIAの柿沼太一弁護士が、2019年1月1日に施行された「改正著作権法」のポイントとAIモデル開発時の注意点について解説した。 深層学習の登場により、「音声認識」や「画像認識」にAIモデルを活用してサービスを提供する企業が増えてきた。 AIモデルを開発するには、大量のデータを用意してAIモデルに学習させ、目標の精度が出るかどうかAIモデルを評価する必要がある。しかし、「大量のデータを用意するのに時間がかかる」「AIモデルの精度が低くサービスに適用できない」など、サービスを開発、提供する前から壁が立

    無断でダウンロードしたデータでもAI開発に使える? 改正著作権法を弁護士が解説
    saruzo69
    saruzo69 2019/03/31
  • サイバーセキュリティ経営の実践に向けたプラクティス集、IPAが公開

    サイバーセキュリティ経営の実践に向けたプラクティス集、IPAが公開:経産省のガイドラインを使いこなす 経済産業省とIPAは、サイバー攻撃に対する備えの強化に向けて、国内での実践事例を基にしたプラクティス集を公開した。2017年11月に策定した「サイバーセキュリティ経営ガイドライン Ver.2.0」を実践する際に参考となる考え方や実践事例を載せた。

    サイバーセキュリティ経営の実践に向けたプラクティス集、IPAが公開
    saruzo69
    saruzo69 2019/03/28
  • 1