Pull to refresh

Comments 41

А вот что интересно, как построить нейросеть, которая принимала и возвращала бы произвольные данные? Например, есть 2d-стрелялка. Я в ней бегаю-стреляю, нейросеть учится. Потом выпускаю бота, он на основе информации о всех ближайших объектах (игроки, снаряды, ландшафт) принимает дальнейшее решение. Можно такое реализовать?
Теоретически — можно, конечно. Но на практике — долго, небыстро и вряд ли очень качественно.
у Andrew Ng в курсе по ML был пример, где они камеру приделали к лобовухе, и просто катались по городу, нейросеть из класса Deep получала то ли 7 кадров в секунду, то ли 10, ну это не суть, в общем просто катались и обучались.

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

качество конечно хуже чем Себастьяна Трана авто, но и разница есть, нейросеть это решение тупо в лоб, а у Трана партикл фильтры это только малая часть решения, очень много эвристик и всяких МЛ
интересно, а что если собрать видео с сотен или даже тысяч автомобильных регистраторов и скормить такой сети?
я думаю теоретически с неограниченной вычислительной мощностью что то да и получилось бы -) но не сегодня
а это мощность требуется для обучения или для функционирования?
В стрелялку — вряд ли. Можно научить играть во что-нибудь более детерменированное: крестики-нолики, шашки, стратегию пошаговую.
Можно и в стрелялку. Разница, по хорошему, только во времени на обучение и размерности сети.
Вообще, было бы забавно попробовать сделать что-нибудь такое на основе Crimsonland'а.
Да, можно. Есть относительно простой алгоритм Back Propagation, который позволяет обучить нейросеть по примерам.
Самым сложным будет подобрать представление информации об окружающем мире.
У модели принятия решения на основе текущей обстановки есть один большой недостаток — все решения будут являться локальными. Т.е., боты не смогут строить планы, прокладывать маршруты и т.п.
Так хорошая обучающая выборка должна быть, включающая не только текущую обстановку.
UFO just landed and posted this here

Теперь могут)

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

И что такое: «нейронная сеть из одного перцептрона»? Что вы хотели сказать? Бывают из нескольких? (ответ: бывают; а зачем?).

А вообще конечно хорошо, что для чайников. Хотя больше интересно обучение и быстрые алгоритмы — на будущее.
Вы совершенно правы! «Персептрон» это для наукообразности. На самом деле, эти так называемые «нейронные сети», также похожи на своих биологических собратьев, как слон похож на муровья.
Тот, кто разбирается в любой схемотехнической логике, построенной из n-входовых триггеров и элементов «И», «ИЛИ» и «НЕ», скажет Вам, что каждый микрочип является в этом смысле «нейронной сетью».
Хорошая статья, спасибо, однако…

if (sum >= limit)
    return true;
else return false;


серьезно?
Бывает и такое…

string img1_ref, img2_ref;
img1_ref = img1.GetPixel(i, j).ToString();
img2_ref = img2.GetPixel(i, j).ToString();
if (img1_ref!= img2_ref)
{
flag = false;
}
Статья для чайников — код для чайников.
Код для чайников — хорошая сказка, а не детектив, где надо додумывать.
return sum>=limit

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

что может быть проще нежели фраза гиперболический тангенс от линейной комбинации входного вектора и вектора весов =)
Верно на 100%! Просто у «перцептронщиков» не было своей терминологии, вот и решили избрести велосипед, когда у схемотехников есть прекрасные обозначения и понятия, триггеры, например.
Ну так можно далеко зайти: генетические алгоритмы — это же просто подвид комбинаторики, роевые алгоритмы — тоже велосипед, ведь это же просто обучение с подкреплением, клеточные автоматы — тоже и т.д.

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

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

Сделал бы сие действо схемотехник — были бы триггеры, не вопрос, но схемотехников тогда волновали совсем другие вещи, увы. Так что не схемотехниковское дело теперь перекраивать терминологию. Устоявшуюся. Желание заузить всю лингвистическую базу в соответствие с имеющимся мировоззрением нормально, понятно и извинительно. Но его осуществление приведет нас всех к эсперанто. Ясно, что это утопия.
В целом, могу с Вами согласиться. Но я выражал ту мысль, что нет никаких материальных «нейросетей», а есть программа и только программа. Вот, если кто-то собирает эту «нейросеть» не в софтовом виде, а в натуральном (физическом) представлении, пусть на реле, на шаговых искателях, на пневмоэлементах или электрических триггерах — всё равно — вот, тогда это устройство можно назвать «ИНС». А так это всего лишь программа, моделирующая некие представления о возможных процессах распознавания, запоминания, обучения…
Автор неправильно изложил концепцию, и ввёл Вас в заблуждение.

Смысл перцептрона и нейросетей как таковых состоит именно в модели самого нейрона. Она далеко не такая примитивная.

Начать хотя бы с того, что входы — это вещественные числа от 0 до 1 (либо от -1 до 1, смотря какую модель применяем). Передаточная функция — в большинстве случаев применяется сигмоидная, но опять-таки это не логика 1/0, это вещественные числа из диапазона [0,1].

Поэтому схема из элементов И, ИЛИ, НЕ — это логическая схема, и не нейросеть. Схема из элементов «нейронов» — это нейронная сеть.
То есть, Вы хотите сказать, что «нейрон» это такой мультивходовый триггер, например, с 16-ю входами, переключающийся в зависимости от № входа и уровня входного сигнала в какое-то соответствующее состояние. Ну, тогда это опять-же тот же самый триггер. При этом, если биологический нейрон постоянно возбуждается и также перманентно релаксируется, НЕ СОХРАНЯЯ своих текущих состояний, то триггер может хранить информацию сколь угодно долго, в отличие от биологического собрата.
Мне, схемотехнику, и знакомому с работой неокортекса, никто не может вразумительно (аргументированно) объяснить, чем «софтовый перцептрон» отличается в ту или иную сторону от схемотехнической логики или своего биологического прототипа.
Выше я хотел сказать, что модель нейрона, используя понятия схемотехники является «аналоговой», а не «цифровой».
Я не говорил, что там только 0 и 1.
Я сказал — т.к. у нас картинка черно-белая, то на входе может быть либо 0, либо 1. Читайте внимательно.
Рисунки и текст несколько misleading, особенно для статьи, которая предполагает обучение основам. Но да, вникнув в рисунки и текст, действительно нет упоминания, что входы только 0 и 1.

Тем не менее, ещё комментарий (чтобы люди не путались): «Это число сравнивается с заранее установленным порогом — если полученное значение выше порога, то считается, что нейрон выдал на выход единицу.»
Это на самом деле правильно, если используется пороговая выходная функция (персептрон Розенблатта).
Но стоит сделать оговорку, что также часто применяется и сигмоидная функция, и в таком случае выход представляет собой число из [0;1].
Конечно стоит. Но тогда получится очередная разрывающая голову статья.
Я и не отрицал, что она есть, так и написал — простой язык, простейший случай.
Усложнять я планирую постепенно.
В конце-концов — напишите свою статью, раз не нравится мой способ изложения, или приведите уже объективную критику, а не то, как вы бы написали мою статью.
Не стоит так возмущаться :)

Я отвечал Cybersoph, что он введён в заблуждение насчёт того, что любая логическая схема может называться нейросетью. И рассказал, что он сделал такой вывод из-за того, что в статье дается только довольно узкий и упрощенный вариант нейрона.
Думаю, что это было из-за вот этого:
"… на входе аксона может быть только 1 или 0:"

По стилю — это Ваше право, можете игнорировать мои комментарии и всё, это интернет в конце концов :).
О, это не проблема. Это гениальный маркетинговый ход. Нейросети и генетические алгоритмы отличаются как раз аксонами и хромосоми, а не тем, что это очень уж хорошие методы оптимизации. Не знаю на счет финансирования, а в универах это популярно из-за терминологии, это не скучные методы типа нелинейного МНК с кучей частных производных.
В искусственных нейросетях тоже много математики конечно, но всем пофиг, у всех нейроны — это классы с циклами внутри, и вместо того, чтобы разобраться с линалом и BLAS получается вот так вот — чередная статья на хабре с ООПшным нейроном
Согласен! На мой взгляд проблема даже не столько в «романтичности» нейронных сетей, а в разнице преподавания. Нейронные сети это всегда практические примеры — «а давайте сделаем распознаватель рукописных цифр» или «сделаем управление машиной». А вышку нам всегда преподавали сухо и абстрактно… было не понятно ни зачем матрицы нужны, ни чем поможет взятие архисложного интеграла.

И это печально. Без знания математики нейронные сети, остаются черными «магическими» ящиками, с которыми можно только колдовать…

Радует появление качественных онлайн курсов от ведущих специалистов в этой области.
Аксон — нейрит, осевой цилиндр, отросток нервной клетки, по которому нервные импульсы идут от тела клетки (сомы) к иннервируемым органам… © wikipedia
Эх, жаль что так поздно, если бы на месяц-другой раньше… неделю назад была сдача курсовой по нейросетям как раз.
Раньше был отличнейший курс Machine Learning от Andrew Ng ;)
А я один заметил, что автор не ввел термин аксон, а сразу начал им пользоваться?
UFO just landed and posted this here
Sign up to leave a comment.

Articles