Почему мы используем нейронные сети в компьютерах? - PullRequest
2 голосов
/ 01 июля 2010

Почему мы используем нейронные сети? Это биологическое. Разве нет более подходящих решений для компьютеров?

Другими словами: почему мы используем человеческий мозг в качестве модели для вдохновения искусственного интеллекта?

Ответы [ 9 ]

16 голосов
/ 01 июля 2010
  1. Нейронные сети на самом деле не очень биологические.На очень общем уровне они напоминают архитектуру нейронов, но было бы большим преувеличением сказать, что они работают "точно так же, как мозг" (преувеличение, которое поощряется некоторыми защитниками нейронных сетей, увы).
  2. Нейронные сети в основном используются для нечетких, сложных задач, которые не поддаются традиционным алгоритмическим подходам.То есть, есть более «подходящих» решений для компьютеров, но иногда эти решения не работают, и в этих случаях одним из подходов является нейронная сеть.
9 голосов
/ 01 июля 2010

Почему мы используем нейронные сети?

Потому что они просты в построении и часто кажутся хорошим подходом к определенным классам задач, таким как распознавание образов.

Нет ли более подходящих для компьютеров решений?

Да, реализации, которые более точно соответствуют архитектуре компьютера, могут быть более подходящими для компьютера, но тогда могут быть менее подходящими для эффективного решения.

Почему мы используем человеческий мозг в качестве образца для вдохновения искусственного интеллекта?

Потому что наш мозг - лучший пример того, что у нас есть что-то разумное.

5 голосов
/ 13 июля 2010

Нейронные сети все еще используются по двум причинам.

  1. Их легко понять людям, которые не хотят углубляться в математику более сложного алгоритма.
  2. У них действительно хорошее имя.Я имею в виду, когда вы входите в офис генерального директора, чтобы продать ему свою модель, которую вы бы предпочли сказать: нейронная сеть или машина опорных векторов.Когда он спрашивает, как это работает, вы можете просто сказать «точно так же, как нейроны в вашем мозгу», что большинство людей понимают.Если вы попытаетесь объяснить механизм опорных векторов, мистер CEO потеряется (не потому, что он глуп, а потому, что SVM труднее понять).

Иногда они все еще полезны, однако я думаю,время тренировки часто слишком велико.

2 голосов
/ 01 июля 2010

Я не понимаю вопроса.Нейронные сети подходят для определенных функций, а не для других.То же самое верно для различных других видов классов алгоритмов, независимо от того, на что они могли быть вдохновлены.

Если у нас есть много входных данных для чего-то, и мы хотим некоторые выходные данные, и у нас есть наборНапример, входные данные с известными желаемыми выходными данными, и мы не хотим сами вычислять функцию, нейронные сети превосходны.Мы вводим входные данные примера, сравниваем выходные данные с выходными данными примера и автоматически корректируем внутреннюю работу NN, чтобы приблизить выход NN к желаемому выходу.

Этот вид вывода функцииЭто очень полезно в различных формах распознавания образов и общей классификации.Это не панацея, конечно.Он не имеет объяснительной силы (в том смысле, что вы не можете взглянуть на внутренности, чтобы понять, почему он классифицирует что-то определенным образом), он не дает гарантий правильности в определенных пределах, проверить, насколько хорошо это работает, сложно и собратьДостаточно примеров для обучения и проверки может быть дорогим или даже невозможным.Хитрость заключается в том, чтобы знать, когда использовать NN и какой использовать.

Есть, конечно, люди, которые переоценивают вещи как своего рода супер-решение или даже объяснение человеческой мысли, и вы могли быреагировать на них.

1 голос
/ 28 сентября 2010

Хотя я признаю, что я работаю с нейронными сетями из-за моих надежд на создание высокоуровневого ИИ, однако вы можете рассматривать нейронную сеть как нечто большее, чем просто искусственное представление человеческого мозга, но как математическую конструкцию.

Например Допустим, у вас есть функция y = f(x) или более абстрактно y = f(x1, x2, ..., xn-1, xn), сами нейронные сети действуют как функции или даже набор функций, принимая большой вход и производя некоторый вывод [y1, y2, ..., yn-1, yn] = f(x1, x2, ..., xn-1, xn)

Кроме того, они не являются статичными, но вместо этого могут продолжать адаптироваться и учиться и в конечном итоге экстраполировать (предсказать) интересные вещи.Их абстрактность может даже привести к тому, что они найдут уникальные решения проблем, которые еще не были придуманы.Например, программа TDGammon научилась играть в нарды и победить чемпиона мира.Чемпион мира заявил, что в программе играют в уникальную конечную игру, которую он никогда не видел.(это довольно круто, если вы спросите меня, учитывая сложность NN) *

И затем, когда вы смотрите на повторяющиеся нейронные сети (то есть можете иметь внутренние петли обратной связи или направить свой вывод обратно на вход, потребляя новый ввод) они могут решать еще более интересные задачи и отображать еще более сложные функции.

В двух словах, нейронные сети похожи на очень абстрактную многомерную функцию и способны отображать / изучать очень интересные вещи, которые в противном случае были бы невозможныпрограммировать программно.Например, энергия, необходимая для расчета общей чистой силы гравитации на большом количестве объектов, является интенсивной (вы должны рассчитать ее для каждого объекта и для каждого объекта), но как только нейронная сеть научится сопоставлять ее, они смогутсделать эти сложные вычисления, которые будут выполняться в экспоненциальной или комбинаторной?время в полиномиальном времени.Просто посмотрите, как быстро ваш мозг обрабатывает физические данные, пространственные данные / изображения / звук во сне.Это потенциальная вычислительная мощность нейронных сетей.И упомянуть, как они хранят данные, очень умно (в шаблонах синапсов, то есть в памяти)

1 голос
/ 01 июля 2010

Нейронные сети существуют уже некоторое время и изначально были разработаны для того, чтобы моделировать настолько близкое понимание, насколько мы имели в то время, к тому, как нейроны работают в мозге.Они представляют собой сеть нейронов, отсюда и «нейронная сеть».Поскольку компьютеры и мозг сильно различаются в аппаратном плане, реализация чего-то вроде мозга с компьютером будет довольно неуклюжей.Однако, как уже заявляли другие, нейронные сети могут быть полезны для некоторых нечетких вещей, таких как распознавание образов, распознавание лиц и другие подобные применения.Они также все еще полезны в качестве базовой модели того, как нейроны соединяются, и часто используются в когнитивной науке и других областях искусственного интеллекта, чтобы попытаться понять, как маленькие части сложного человеческого мозга могут принимать простые решения.К сожалению, когда нейронная сеть что-то «изучает», очень трудно понять, как она на самом деле принимает свои решения.

Конечно, существует много случаев неправильного использования нейронных сетей, и в большинстве неисследовательских приложений были разработаны другие алгоритмы, которые намного более точны.Если какое-то программное обеспечение для бизнеса с гордостью заявляет, что оно использует нейронную сеть, есть вероятность, что оно, вероятно, не нуждается в нем и может использовать его для неэффективного выполнения задачи, которая может быть выполнена гораздо более простым способом.Если программное обеспечение не «обучается» на лету, что очень редко, нейронные сети практически бесполезны.И даже когда программное обеспечение «обучается», иногда нейронные сети - не лучший путь.

1 голос
/ 01 июля 2010

Нейронные сети "вдохновляются" только нейронной структурой нашего мозга, но они даже не близки к сложности поведения реального нейрона (на сегодняшний день не существует модели нейрона, которая бы отражала сложность ОДНОГО нейрона , даже не думай о нейрональной популяции ...)

Хотя термины «нейронный», «машинное обучение» и другие «псевдобио» (например, «генетические алгоритмы») очень «крутые», это не означает, что они на самом деле основаны на реальных биологических процессах. Просто они могут очень приблизительно напоминать о биологической ситуации.

NB: конечно, это не делает их бесполезными! Они очень и очень важны во многих областях!

0 голосов
/ 01 июля 2010

Большинство известных мне нейронных сетей - не более чем гибкие интерполяторы.Распространение ошибок легко и быстро, вот несколько возможных применений:

  • Классификация данных
  • Некоторые игры (современные ИИ в нардах побеждают лучших игроков в мире, функция оценкинейронная сеть)
  • Распознавание образов (OCR?)

Нет ничего особенно связанного с человеческим интеллектом.Есть и другие применения нейронных сетей, я видел реализацию ассоциативной памяти, которая допускала деградацию без (значительной) потери данных, почти как мозг, который видит, как некоторые нейроны умирают со временем.

0 голосов
/ 01 июля 2010

Искусственный интеллект - отрасль компьютерных наук, посвященная тому, чтобы сделать компьютеры более «биологическими».Это полезно, когда вы хотите, чтобы компьютер выполнял человеческие (биологические) вещи, например, играл в шахматы или имитировал случайные разговоры.

Человеческий мозг намного эффективнее и мощнее, чем самые мощные компьютеры, поэтомусмысл пытаться подражать биологическому способу обработки информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...