Можете ли вы объяснить нейронные сети простыми словами на примере?
Можете ли вы объяснить нейронные сети простыми словами на примере?
Ответы:
Нейронная сеть - это класс вычислительной системы. Они созданы из очень простых узлов обработки, сформированных в сеть. Они вдохновлены тем, как биологические системы, такие как мозг, работают, хотя на данный момент на много порядков менее сложны.
Они в основном являются системами распознавания образов и, как правило, более полезны для задач, которые можно описать с точки зрения распознавания образов. Они «обучаются», снабжая их наборами данных с известными результатами.
В качестве примера представьте, что вы пытаетесь обучить сеть выводить 1, когда ей дается изображение кошки, и 0, когда она видит изображение, которое не является кошкой. Вы должны тренировать сеть, пропуская через нее множество картинок кошек и используя алгоритм для настройки параметров сети, пока он не даст правильный ответ. Параметрами обычно являются усиление на каждом входе и вес на каждом узле, а также фактическая структура сети (сколько узлов, сколько слоев, с какими взаимосвязями).
Распознавание изображений кошек на самом деле является довольно сложной проблемой и потребует сложной нейронной сети (возможно, начиная с одного узла на пиксель). Обычной отправной точкой для экспериментов с нейронными сетями является попытка реализовать простые логические элементы, такие как AND, OR, NOT и т. Д., В качестве нейронных сетей.
Нейронные сети могут быть очень быстрым способом достижения сложного результата. Они очень интересны для исследования ИИ, потому что они являются моделью для мозга животных.
Один из главных недостатков нейронных сетей заключается в том, что их очень трудно перепроектировать. Если ваша сеть решает, что одно конкретное изображение слона на самом деле является кошкой, вы не сможете определить «почему» в любом полезном смысле. Все, что вы действительно можете сделать, это попробовать обучить / настроить сеть дальше.
Нейронные сети, как правило, используются для хорошо связанных задач, таких как распознавание монет / банкнот в торговых автоматах или обнаружение дефектов на производственных линиях.
Лучшее место для начала, если вы заинтересованы, вероятно, это Google Perceptron, который является названием одного из самых ранних элементов нейронной сети.
Я изучаю искусственный интеллект в магистерской программе, и мы довольно часто используем нейронные сети. Они на самом деле весьма полезны.
Я думаю, что проблема для нейронных сетей - это их имя. Это сбивает с толку то, чем на самом деле является нейронная сеть, и заставляет некоторых людей сомневаться в их достоинствах, потому что они ожидают, что они будут действовать как мозг, когда они на самом деле представляют собой причудливый тип функций.
Лучший способ понять нейронную сеть - это пройти мимо имени. Не думайте об этом как о модели мозга ... это не так ... это было задумано в 1960-х, но в 2011 году, и они все время используются для машинного обучения и классификации.
Нейронная сеть на самом деле просто математическая функция. Вы вводите вектор значений, эти значения умножаются на другие значения, и выводится значение или вектор значений. Это все, что есть .
Они очень полезны в проблемных областях, где нет известной функции для приближения данных характеристик (или входных данных) к их выходным данным (классификация или регрессия). В качестве примера можно привести погоду - в погоде есть много особенностей - тип, температура, движение, облачность, прошлые события и т. Д. - но никто не может точно сказать, как рассчитать погоду через 2 дня. Нейронная сеть - это функция, которая структурирована таким образом, что позволяет легко изменять ее параметры для приблизительного прогнозирования погоды на основе характеристик.
Это вещь ... это функция и имеет хорошую структуру, подходящую для "обучения". Можно взять данные о погоде за последние пять лет - вместе с особенностями погоды и состоянием погоды через 2 дня в будущем, за каждый день за последние пять лет. Веса сети (множители, которые находятся на краях) генерируются случайным образом, и данные просматриваются. Для каждого прогноза NN будет выводить неверные значения. Используя алгоритм обучения, основанный на исчислении, такой как обратное распространение, можно использовать выходные значения ошибок для обновления всех весов в сети. После того, как данные пройдут достаточно, уровни ошибок достигнут некоторой самой низкой точки (это еще не все, но я не буду вдаваться в подробности - самое важное - это перебор). Цель состоит в том, чтобы остановить алгоритм обучения, когда уровни ошибок находятся в лучшей точке. Сеть затем фиксируется и на этом этапепросто математическая функция, которая отображает входные значения в выходные значения, как и любое старое уравнение. Вы вводите новые данные и уверены, что выходные значения являются хорошим приближением.
Для тех, кто утверждает, что они потерпели неудачу: они не. Они чрезвычайно полезны во многих областях. Как вы думаете, как исследователи выясняют корреляцию между генами и болезнями? НС, как и другие алгоритмы обучения, используются в биоинформатике и других областях. Было показано, что они дают очень хорошие результаты. НАСА теперь использует их для рутинной работы космической станции, например, для прогнозирования времени работы от батареи. Некоторые люди скажут, что опорные векторные машины и т. Д. Лучше ... но доказательств тому нет, другие алгоритмы просто новее.
Это очень плохо, люди все еще утверждают, что нейронные сети не работают, потому что они намного проще человеческого мозга - нейронные сети больше не используются для моделирования мозга - это было 50 лет назад.
Это математическая схема для построения уравнения (принимая несколько числовых входов и предоставляя один числовой вывод) с регулируемыми весами коэффициентов. Существуют алгоритмы, которые могут корректировать коэффициенты, чтобы уравнение приближалось к ожидаемым результатам, учитывая обучающий набор, состоящий из входных данных и ожидаемых выходных данных.
Простейший пример, вместе с графикой, доступен в Википедии . Этот пример известен как XOR.
Простыми словами, как вы и просили, нейронная сеть - неудачная идея имитации биологических нейронных сетей. Он никогда не давал интересных результатов и, вероятно, никогда не даст, потому что:
(1) это слишком упрощенно по сравнению с тем, что вы можете сделать с любым языком программирования, полным по Тьюрингу
(2) он слишком упрощен по сравнению с биологическими нейронными сетями: они оказались более сложными, чем предполагалось ко времени создания теории NN.
Любое утверждение, что нейронные сети успешны в любой задаче, используемой в реальных приложениях, является преувеличением.
Давай опусти меня.