Компьютер или человеческий мозг, как вы думаете, что мощнее?
В жизни вы часто обнаружите, что многие люди хотят, чтобы их мозг был похож на компьютер, и если у них есть возможность превратиться в Железного человека, они не могут дождаться, чтобы воспользоваться ею.
Но оглянитесь назад на то, что ученые сделали за последние несколько десятилетий, и вы удивитесь, как усердно они пытались сделать компьютеры более похожими на человеческий мозг! Как это сделать? С помощью нейронных сетей, компьютерных программ, состоящих из сотен, тысяч или даже миллионов искусственных клеток мозга, они могут учиться и функционировать так же, как человеческий мозг. Так что же такое нейронная сеть? Как они работают? Давайте посмотрим поближе!
В чем разница между компьютером и человеческим мозгом?
Вы часто будете слышать, как люди сравнивают человеческий мозг с компьютером, и на первый взгляд у них действительно есть что-то общее. Нормальный человеческий мозг имеет около 100 миллиардов крошечных клеток, называемых нейронами (никто точно не знает, сколько там нейронов, но оценки варьируются от 50 до 500 миллиардов). Это основная единица обработки сигналов человеческого мозга.
Каждый нейрон состоит из тела клетки (основной части клетки), нескольких дендритов (входная часть клетки мозга, несущая информацию к телу клетки) и аксонов (выходная часть клетки мозга, несущая информацию). несут выходную информацию) и другие три части. Нейроны очень, очень маленькие, 100 клеточных тел имеют длину всего 1 миллиметр.
В компьютерах наноразмерные переключающие устройства, называемые транзисторами, выполняют ту же функцию, что и клетки мозга. В новейших современных процессорах около 2 миллиардов транзисторов, и даже в очень простом процессоре около 50 миллионов транзисторов, и все они интегрированы в квадратную интегральную схему размером всего 2,5 сантиметра, меньше почтовой марки!
Вот почему человеческий мозг и компьютер нельзя сравнивать напрямую в деталях, потому что это совсем не одно и то же. Не только потому, что компьютер — это холодный металлический ящик, наполненный бинарными значениями, но и потому, что человеческий мозг живой и горячий, полный мыслей, чувств и воспоминаний. Настоящая разница в том, что компьютеры и человеческий мозг «думают» совершенно по-разному.В то время как транзисторы в компьютере относительно просто соединены последовательно в определенном порядке (каждый транзистор соединен с несколькими другими транзисторами с помощью простых логических вентилей), нейроны в человеческом мозгу соединены параллельно невероятно сложным образом (каждый нейрон может быть соединен к его десяткам тысяч соседних нейронов).
Фундаментальное структурное различие между компьютерами (миллионы транзисторов, соединенных более простым образом) и человеческим мозгом (от сотен до сотен миллиардов клеток мозга, соединенных более повторяющимися способами) заставляет их «думать совершенно по-разному»». Компьютеры прекрасно способны хранить большие объемы бессмысленной информации (для самого компьютера), переупорядочивая ее множеством различных способов на основе точных инструкций (программ), которые люди вводят заранее. Человеческий мозг, с другой стороны, учится медленно, более окольным путем, часто требуются месяцы или даже годы, чтобы полностью освоить что-то сложное.
Но, в отличие от компьютеров, человеческий мозг может естественным образом объединять информацию воедино удивительными новыми способами, распознавать примитивные закономерности, устанавливать информационные связи и смотреть на вещи с совершенно другой точки зрения.Вот где Бетховен, Шекспир и другие берут свое начало в человеческом творчестве.
Разве не было бы здорово, если бы компьютеры были похожи на человеческий мозг? Некоторые люди говорят: «Возьмите нейронную сеть». Отсюда и нейронная сеть.
Что такое нейронная сеть?
Основная идея нейронных сетей заключается в том, чтоСмоделируйте (воспроизведите в упрощенном, но более правдоподобном виде) плотно связанные клетки мозга в компьютере, чтобы люди могли заставить компьютеры учиться чему-то, распознавать закономерности и принимать решения так же, как это делают люди.. Одна из прелестей нейронной сети в том, что вам не нужно программировать ее для изучения человеческих инструкций: она учится полностью самостоятельно, как и человеческий мозг.
Однако это не человеческий мозг.. Важно отметить, что нейронные сети (в целом) представляют собой своего рода программную симуляцию: они написаны на самых обычных компьютерах, работают очень традиционным способом с обычными транзисторами и последовательными логическими вентилями, но они могут действовать как миллиарды клеток мозга. подключены параллельно. Никто никогда не пытался построить компьютер с соединенными друг с другом транзисторами, такими же сложными, как человеческий мозг. Другими словами, разница между нейронной сетью и человеческим мозгом подобна разнице между компьютерной моделью погоды и реальными облаками, снежинками и солнечным светом. Программное моделирование — это не что иное, как ряд алгебраических переменных, связанных между собой математическими уравнениями (проще говоря, набор чисел, хранящихся в ячейке, значение чисел постоянно меняется), для автомобиля очень важно, чтобы Для самого компьютера это ничего не значит, только для людей, которые его написали.
настоящая искусственная нейронная сеть
Прежде чем мы поговорим подробнее о нейронных сетях, давайте разберемся с терминологией. Строго говоря, нейронная сеть, созданная людьми, называется искусственной нейронной сетью (или ИНС), чтобы отличить ее от реальной нейронной сети в человеческом мозгу (сети связанных клеток мозга). Вы также можете встретить нейронные сети под разными названиями, такими как машины соединений (также известные в этой области как коннекционизм), параллельные децентрализованные процессоры (PDP), мыслящие машины и т. д., но в этой статье мы будем использовать термин «нейронные сети». network», используйте его для обозначения «искусственных нейронных сетей».
Из чего состоит нейронная сеть?
Типичная нейронная сеть состоит из нескольких, сотен, тысяч или даже миллионовединица измерения" состоит из искусственных нейронов, расположенных в виде ряда слоев, каждый из которых связан друг с другом. Некоторые из этих нейронов называются "блок ввода", используется для получения различной информации из внешнего мира, и нейронная сеть будет использовать эту информацию для обучения, распознавания закономерностей или выполнения другой обработки. Также есть нейроны на другой стороне нейронной сети, в направлении, противоположном «блок ввода», они показывают, насколько хорошо нейронная сеть усваивает информацию, тогда такие нейроны называются «блок вывода". Между "входным блоком" и "выходным" блоком есть один или несколько "скрытая единица», которые вместе со слоями «входной слой» и «выходной слой» образуют нейронную сеть.
Большинство нейронных сетей полностью подключены, а это означает, что каждый скрытый блок и выходной блок связаны с каждым блоком в слое на другой стороне. Связь между одной единицей и другой представлена числом, называемым «весом», которое может быть положительным (когда одна единица возбуждает другую) или отрицательным (когда одна единица подавляет или препятствует другой единице). Чем выше значение веса, тем больше влияние одной единицы на другую (это тот же принцип, по которому клетки человеческого мозга возбуждают друг друга через синапсы).
так,Нейронная сеть состоит из входных блоков (красные внизу), скрытых блоков (синие внизу) и выходных блоков (желтые внизу). Слой, где находится входной блок, является входным слоем, слой, где находится скрытый блок, является скрытым слоем, а слой, в котором находится выходной блок, является выходным слоем. Все ячейки связаны с ячейками в обоих слоях. Входная информация сначала поступает во входной слой слева, затем активирует скрытый слой посередине и, наконец, выводит результат из выходного слоя справа. Нейронная сеть постепенно регулирует силу (вес) связи между каждыми двумя единицами (нейронами), обучаясь.
Как обучаются нейронные сети?
Информация проходит через нейронную сеть двумя путями. Когда нейронная сеть обучается (во время обучения) или нормально функционирует (после обучения), информационные паттерны передаются в нейронную сеть через входные единицы, которые запускают скрытые единицы и, наконец, достигают выходных единиц. Нейронные сети такой конструкции называются «сетями прямого распространения». Не все юниты будут «активны» все время. Каждая ячейка получает ввод от ячейки слева от нее, и ввод умножается на веса связей между ячейками. Таким образом, каждый юнит суммирует все полученные им входные данные, и если результат превышает определенный порог, юнит «срабатывает» и срабатывает юнит, к которому он подключен (справа от него).
Когда дело доходит до обучения нейронной сети, задействовано нечто, называемое «обратной связью». Это похоже на то, как дети учатся, когда взрослые говорят им, правильно они поступают или нет. На самом деле, мы постоянно используем обратную связь. Вот простой пример, подумайте о том, как вы впервые научились играть в футбол, вы пнули мяч в ворота, ваш мозг сосредоточится на направлении и траектории мяча, обратите внимание на то, насколько близко мяч находится к воротам. . В следующий раз, когда вы снова будете пинать, вы вспомните, какие ошибки вы сделали раньше, соответствующим образом скорректируете свои движения и, надеюсь, на этот раз снова станете великим.
Здесь вы используете механизм обратной связи, то есть сравниваете фактический результат с ожидаемым, находите разницу между ними и используете это для улучшения поведения в следующий раз.(например, «Я должен был ударить сильнее», «Я должен был ударить сильнее влево» и т. Д.). Чем меньше разрыв между ожидаемыми и фактическими результатами, тем меньше корректировок вам придется делать в следующий раз.
Именно так нейронные сети учатся, используя метод, называемый «обратное распространение”, который состоит из процесса прямого распространения и процесса обратного распространения.В процессе прямого распространения входная информация проходит через входной слой через скрытый слой, который слой за слоем обрабатывается и передается на выходной слой. Если ожидаемое выходное значение не может быть получено в выходном слое, взять в качестве целевой функции квадрат суммы выходных данных и ожидаемой ошибки, перейти к обратному распространению и получить частную производную целевой функции по весу каждого нейрона. слой за слоем для формирования цели Градиент функции к вектору веса используется в качестве основы для изменения значения веса, и обучение нейронной сети завершается в процессе изменения значения веса. Когда ошибка достигает нужного значения, обучение нейронной сети заканчивается.
Конечно, ты тоже можешь прийтиздесьИспытайте это.
Как и в приведенном выше примере, когда вы учитесь играть в футбол, «обратное распространение» заставит нейронную сеть учиться, постоянно уменьшая разницу между фактическим и ожидаемым результатом, так что нейронная сеть будет медленно выяснять, что ей следует делать для достижения ожидаемого результата. результат.
Как работают нейронные сети на практике?
Как только нейронная сеть будет обучена на достаточном количестве обучающих образцов, мы можем дать ей новый набор входных данных, которых она никогда раньше не видела, и посмотреть, как она отреагирует. Например, предположим, что вы раньше обучали нейронную сеть, показывая ей множество изображений столов и стульев таким образом, чтобы она могла понять, говоря ей, где стул, а где стол. Показав ему картинки (скажем, у нас есть изображения 25 разных стульев и 25 разных столов), скормите ему новый набор картинок, которых он никогда раньше не видел, и посмотрите, что произойдет. Нейронная сеть учится по-другому и классифицирует новые образцы точно так же, как и человек. Как только производительность этой нейронной сети соответствует требованиям, вы научили компьютер распознавать мебель!
Это не означает, что нейронная сеть просто «смотрит» на набор фотографий мебели, а затем осмысленно отвечает, она ведет себя не так, как человек. Рассмотрим пример, который мы только что привели: то, что на самом деле видит нейронная сеть, — это не фотография мебели. Информация, подаваемая в нейронную сеть, по сути представляет собой двоичные числа:Они включают или выключают блоки (нейроны) в нейронной сети.).
Итак, если у вас есть 5 блоков ввода, вы можете ввести 5 различных функций для разных стульев с бинарными ответами (да/нет). Например вопрос такой:
1. Есть ли спинка сиденья?
2. Есть ли у него рабочий стол?
3. Есть ли у него мягкая подушка сиденья?
4. Можете ли вы комфортно сидеть на нем в течение длительного времени?
5. Много ли на него можно поставить?
Здесь стул будет представлен как да, нет, да, да, нет в двоичном формате как 10110, тогда стол будет представлен как нет, да, нет, нет, да в двоичном формате как 01001. Таким образом, в процессе обучения нейронная сеть просматривает множество двоичных чисел, таких как 10110 и 01001, и узнает, какие представления являются стулом (что может выдать 1), а какие — столом (что может выдать 0).
Для чего создаются нейронные сети?
Из вышесказанного и примеров можно догадаться, что нейронные сети можно использовать по-разному, от распознавания закономерностей до принятия решений. В авиации мы можем использовать нейронные сети в качестве автопилотов, где блок ввода считывает сигналы и данные с приборов кабины, а блок вывода регулирует самолет соответствующим образом, чтобы убедиться, что самолет летит по правильному маршруту. На фабриках мы можем использовать нейронные сети для контроля качества. Например, есть фабрика, которая производит стиральный порошок с помощью крупномасштабного сложного химического процесса.Мы можем измерить конечное соотношение состава стирального порошка и ввести результаты измерения в качестве входных данных в нейронную сеть, которая затем решит, следует ли химически обрабатывать с участием.
Кроме того, существует множество примеров приложений, которые здесь не перечислены. В заключение, нейронные сети могут помочь нам во многих отношениях. Они могут помочь нам предсказывать погоду, запускать системы обнаружения радаров для автоматического обнаружения вражеских самолетов или кораблей и даже помогать врачам выявлять сложные заболевания. Многие мобильные приложения, голосовые помощники и программы для перевода, которыми мы пользуемся сегодня, используют нейронные сети.
Одним словом, нейронные сети делают компьютеры все более и более похожими на людей, а компьютерные системы — все более и более полезными для человека.
Увидев это, я полагаю, вы должны понять, что такое нейронная сеть, верно?В будущем мы также поделимся 8 общими архитектурами нейронных сетей., быть в курсе!