Искусственный General Int ...

На какой стадии искусственного интеллекта мы находимся, стоит ли нам пока о ней беспокоиться?

Любит | Нелюбов | Ответы | Вид | 8324


Брент Остер магистр компьютерных наук, Университет Калифорнии, Санта-Барбара (2008)   
@ | Обновлено Right Now


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

Более длинный ответ: За 4 года работы в области глубокого обучения в NVIDIA я работал архитектором решений для исследования методов глубокого обучения и представления клиентам возможных решений для решения их проблем и оказания помощи в их реализации.

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

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

Глубокое обучение - Подгонка функций к данным, как указано выше, где эти функции представляют собой слои узлов, которые связаны (плотно или иным образом) с узлами до и после них, а устанавливаемые параметры являются весами этих соединений.

Глубокое обучение - это то, что сегодня обычно называют искусственным интеллектом, но на самом деле это просто очень сложное распознавание образов и статистическое моделирование. Наиболее распространенными методами / алгоритмами являются сверточные нейронные сети (CNN), рекуррентные нейронные сети (RNN) и обучение с подкреплением (RL).

Сверточные нейронные сети (CNN)иметь иерархическую структуру (которая обычно является 2D для изображений), где изображение выбирается (обученными) фильтрами свертки в карту с более низким разрешением, которая представляет значение операции свертки в каждой точке. В изображениях он переходит от пикселей с высоким разрешением к мелким элементам (края, круги и т. Д.), Грубым элементам (носы, глаза, губы,… на лицах), а затем к полностью связанным слоям, которые могут идентифицировать то, что находится на изображении , Крутой частью CNN является то, что сверточные фильтры инициализируются случайным образом, а затем, когда вы обучаете сеть, вы фактически обучаете сверточные фильтры. В течение десятилетий исследователи компьютерного зрения имели подобные фильтры ручной работы, но никогда не могли получить результаты настолько точные, насколько могут получить CNN. Кроме того, вывод CNN может представлять собой 2D-карту вместо одного значения, что дает нам сегментацию изображения.

Recurrent Neural Networks (RNNs) work well for sequential or time series data. Basically each "neural" node in an RNN is kind of a memory gate, often an LSTM or Long Short Term Memory cell. When these are linked up in layers of a neural net, these cells/nodes also have recurrent connections looping back into themselves and so tend to hold onto information that passes through them, retaining a memory and allowing processing not only of current information, but past information in the network as well. As such, RNNs are good for time sequential operations like language processing or translation, as well as signal processing, Text To Speech, Speech To Text,…and so on

Reinforcement Learning is a third main AI method (although not DL), where you train a learning agent to solve a complex problem by simply taking the best actions given a state, with the probability of taking each action at each state defined by a policy. An example is running a maze, where the position of each cell is the ‘state’, the 4 possible directions to move are the actions, and the probability of moving each direction, at each cell (state) forms the policy.

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

В нашем примере с лабиринтом это означает, что агенту разрешается проходить лабиринт, выбирать направление движения из каждой ячейки с использованием вероятностей в политике, а когда он заходит в тупик, наказывать ряд вариантов, которые его там получили. уменьшая вероятность перемещения этого направления от каждой ячейки снова. Если агент находит выход, мы возвращаемся и вознаграждаем выбор, который получил его, увеличивая вероятность перемещения этого направления из каждой ячейки. Со временем агент узнает самый быстрый путь через лабиринт к выходу или оптимальную политику. Вариации обучения подкреплению лежат в основе AlphaGo AI и Atari Video Game, играющих в AI.

Последнее замечание касается GAN, или Генеративных Состязательных Сетей, что является скорее техникой, чем архитектурой. В настоящее время он используется с CNN для создания дискриминаторов и генераторов изображений. Дискриминатор - это CNN, который обучен распознавать изображения. Генератор представляет собой обратную сеть, которая берет случайное начальное число и использует его для генерации изображений. Дискриминатор оценивает выходной сигнал генератора и отправляет сигналы генератору о способах улучшения, а генератор, в свою очередь, отправляет сигналы на дискриминатор, чтобы также повысить его точность, возвращаясь назад и вперед в игре с нулевой суммой, пока они оба не сходятся в лучшем качестве. Это способ обеспечения самоусиливающейся обратной связи с нейронной системой, к которой мы еще вернемся.

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

Хотя они могут очень хорошо работать для модельных проблем и тестов, эти методы иногда не масштабируются и не работают так же хорошо, когда вы пытаетесь применить их вне тех специфических проблем, для которых они были разработаны. Для реальных проблем они иногда не работают так же хорошо, даже если вы можете масштабировать и перепроектировать топологию сети и настраивать их. Иногда нам просто не хватает данных для их обучения, чтобы сделать их надежными и точными при развертывании. Или, возможно, реальная проблема просто не может быть количественно определена достаточно хорошо, например, в конкурсе на классификацию изображений Imagenet проводится 1000 классификаций объектов, но в реальных приложениях, вероятно, существуют миллионы классификаций и подклассов объектов. Чтобы заставить системы DL делать новые вещи или распознавать новые данные, их необходимо постоянно переучивать и повторно развертывать,

Кроме того, многие приложения требуют объединения нескольких методов DL и поиска способов их объединения. Простым примером является пометка видео - вы пропускаете видеокадры через CNN, а сверху есть RNN, чтобы фиксировать временное поведение функций в этих видео со временем. В качестве примера, я помог исследователю / предпринимателю использовать эту технику для распознавания выражений лица, вызванного квадрилегией, для выдачи команд на их инвалидную коляску и роботизированный протез, с различным выражением лица / жестом, связанным с каждой командой. Это будет работать, но по мере масштабирования это может занять много времени и сложнее в разработке и обучении, потому что теперь вам приходится настраивать два разных типа сетей DL, которые переплетаются, и иногда трудно понять, какой эффект эти настройки возникли.

Теперь представьте, что у вас было несколько из этих сетей CNN / RNN, обеспечивающих ввод, механизм обучения с глубоким подкреплением, принимающий решения по этому состоянию ввода, а затем приводящий в действие генеративные сети, создающие выходные данные. Это множество специфических техник DL, соединенных вместе для выполнения ряда задач. Можете ли вы сказать, отладки и настройки ада? Будет ли это даже работать? Я не знаю, но если это произойдет, это будет стоить много времени и займет много времени, чтобы работать, и вам нужно быть очень творческим, чтобы изолировать и протестировать системы и постепенно интегрировать их, и неясно, является ли это может достаточно хорошо тренироваться в комбинации, чтобы даже выступать в реальных условиях.

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

Фактически, то, что большинство людей, практикующих ДЛ или «ИИ» сегодня, не осознают, что сегодняшние «нейронные сети» и «нейроны» в глубоком обучении - это просто простейшее подмножество гораздо большего и более богатого семейства синтетических нейронов, нейронных сетей и методы. Большинство многоуровневых нейронных сетей и CNN, которые мы используем в DL сегодня, относятся к меньшему семейству, называемому нейронными сетями с прямой связью, которые просто суммируют взвешенные входные данные в каждом узле, применяют простую передаточную функцию и передают результат на следующий уровень. Это не точная модель того, как мозг работает каким-либо образом, и даже RNN и обучение с подкреплением не дают нам истинного искусственного интеллекта, а просто подгоняют параметры очень больших и сложных функций к большим объемам данных и используют статистику для найти шаблоны и принимать решения.

The methods top and left, especially the Spiking Neural Networks, give a more accurate model of how real neurons operate, with simple, compute-efficient models like "Integrate and Fire", and "Izhikevich" to more complex models like "Hodgkin-Huxley" that come close to modelling a biological neuron"s behavior, and modelling how networks of them interact and work in the brain, opening up much richer neural computational models.

In real neurons, time-domain signal pulses travel along the dendrites, and then arrive at the neuronal body independently, and are integrated in time and space inside it (some excite, some inhibit). When the neuronal body is triggered, it produces a time-dependent set of pulses down its axon, that split up as it branches and take time to travel out to the synapses, which themselves exhibit a non-linear, delayed, time-dependent integration as the chemical neurotransmitter signal passes across the synapse to eventually trigger a signal in the post-synaptic dendrite. There is a strengthening of the synapse, or learning, in the process, if the neurons on both sides of it fire together within a certain interval, called Hebbian learning. We may never be able to completely replicate all the electrochemical processes of a real biological neuron in hardware or software, but we can search for models that are sophisticated enough to represent much of the useful behavior needed in our spiking artificial neural networks.

Это приблизит нас к искусственному искусственному интеллекту, так как реальные мозги получают большую часть своих вычислительных, сенсорных способностей и возможностей управления телом благодаря тому факту, что сигналы «путешествуют» через нейроны, аксоны, синапсы и дендриты и, таким образом, проходят через структуры мозга в сложных, зависящих от времени контурах, которые могут даже иметь петли обратной связи для создания контуров, таких как таймеры или осцилляторы, или нейронных контуров, которые активируются в виде повторяющегося каскадного паттерна, чтобы посылать определенные нестационарные паттерны управляющих сигналов группам мышц / исполнительные механизмы. Эти сети также учатся, непосредственно укрепляя связи между нейронами, которые многократно запускаются, что называется обучением Хебби. Для более сложного ИИ и принятия решений они намного мощнее, чем CNN, статические RNN и даже глубокое обучение с подкреплением, которое мы используем в наших приведенных выше примерах.

Но есть один огромный недостаток - в настоящее время не существует методов для приспособления таких сетей к данным, чтобы «обучить» их. Здесь нет ни обратного распространения, ни операций градиентного спуска, которые настраивают синаптические веса между нейронами. Синапсы только усиливают или ослабляют, и, таким образом, зарождающаяся нейронная сеть учится по своему делу работать, используя обучение на иврите как таковое, что может или не может работать на практике для обучения наших синтетических сетей, поскольку они должны быть структурированы правильно в первую очередь для этого сходится к полезному решению. Это область постоянных исследований, и прорыв в этой области может быть очень значительным. Ниже приведены мои идеи из предварительного патента ORBAI (US 62687179, поданного 19 июня 2018 г.):

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

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

Если это работает хорошо для синтетических нейронных сетей, результат может быть глубоким, и теперь мы можем «обучить» эти нейронные сети, пока они работают на месте, в режиме реального времени (подумайте «Чаппи»). Это гораздо более динамично, полезно и мощно, чем обратное распространение и градиентный спуск во время специального обучения для CNN, и это объединяет функциональность (самообучающихся) CNN, GAN и даже автоэнкодеров в единую, более элегантную архитектуру (которая ожидается, если мы перейдем от «хаков» специального назначения к более функциональной, надежной и мозгоподобной сети и нейронам). С небольшим «дооснащением», возможно, эту технику можно было бы использовать в стандартном CNN с прямой связью с обратным CNN с чередованием для его обучения.

Возвращаясь к GAN, они являются близкими родственниками в этих сетях с обратной связью / чередованием с обратной связью, потому что сети FWD / Back противоположны друг другу, и каждая обучает друг друга. Разница в том, что сети GAN слабо связаны с определенными точками интерфейса, но сети обратной связи и обратной связи могут быть очень плотно связаны и настолько тесно связаны, насколько вы пожелаете. Это огромно, потому что одной из самых больших трудностей с GAN является определение метода обратной связи и сигналов для передачи между генератором / дискриминатором, и для других типов данных, кроме простых, таких как изображения, это может стать сложным. Метод обратной связи / обратной связи может работать для любой произвольной системы - зрение, слух, речь, управление двигателем, .... потому что метод обучения и коммуникации свойственен системе, адаптированной к сетевой архитектуре. Да,

Another problem with spiking neural nets is how do you connect the neurons in the first place? Sure, we can train the networks and strengthen/weaken synapses once we get rolling, but how do you even figure out how to construct them in the first place. I"m not going to go into enormous detail, but start with small hand-wired networks, use genetic algorithms to explore the design space, training with the above technique towards simple performance metrics, then assign a gene to each subnet that works well and start replicating them into bigger networks, again use genetic algorithms to shuffle the genes (and the subnets), train against more complex performance metrics, and keep iterating, hierarchically building larger networks at each step and assigning "genes" to each construct at each level. Since the entire human brain develops from the information encoded in 8000 genes to a 100 billion neuron, 100 trillion synapse structure, it seems that this hierarchical encoding would be the only way to do this in a natural or synthetic neural system and we just have to figure out the details. In the provisional patent mentioned above, I call this collection of methods (and others) NeuroCAD.

One other drawback to implementing and scaling spiking neural network is that while they are capable of sparse computation (neurons and synapses only compute when a signal passes through them) and could be very low-power, most hardware we can run them on today like CPUs and GPUs compute constantly, updating the model for every neuron and synapse every time-slice (there may be workarounds). Many (large and small) companies are working on neuromorphic computing hardware that more closely matches the behavior of spiking neurons and neural networks in function and is able to compute sparsely, but it is difficult to provide enough flexibility in the neural model and to interconnect, scale, and train these networks at present, especially at network sizes large enough and organized properly to do useful work. A human brain equivalent would require over 100 billion neurons and 100 trillion synapses, which is far beyond the density of any 2D chip fabrication technology we have today. We will need new fabrication technologies, and probably 3D lattices of synthetic neurons, axons, dendrites and synapses to get there. Ouch, who wants to build the first fab?

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

Но сработают ли более сложные нейронные сети, подобные этой, в конце концов? Посмотрите в зеркало и помахайте себе - да, это МОЖЕТ работать, вы - это доказательство. Можем ли мы воспроизвести его в такой же искусственной системе, как вы? Теперь вопрос на триллион долларов, не так ли?

Брент Остер ( www.orbai.ai )

Итак, на ваш вопрос: «Должны ли мы еще беспокоиться об этом?», Я предполагаю, что вы имеете в виду: «Мы создадим ИИ, который превосходит нашу способность понимать или контролировать его, и он перехватит контроль у нас?» Сегодня у нас действительно нет ничего похожего на познание на уровне человека, но если вам интересно, как вышеуказанные технологии могли бы перевести в будущий продвинутый Сильный Общий Искусственный Интеллект, который мог бы превзойти наш интеллект, смотрите:

Ответ Брента Остера на «Сильный ИИ» действительно достижим?

| |



Онлайн-курс
«Всё о блокчейне и криптовалютах»
Один из самых трендовых курсов в сфере Цифровой экономики.