Машина, которая сама крутит ручки

После этого урока ты запишешь модель искусственного нейрона, посчитаешь его ответ руками, превратишь порог в вес \(w_0\), не ошибившись в знаке, и скажешь, кто что придумал между 1943 и 1991 годом.

Июль 1958 года. Военно-морской флот США показывает журналистам пятитонный компьютер IBM 704. В него загружают перфокарты: у одних метка слева, у других справа. Правило «если метка слева, то…» никто не писал. Примерно через 50 попыток машина начинает отличать левые карты от правых сама. На следующий день New York Times пересказывает ожидания флота: такая машина научится ходить, говорить, видеть, писать, воспроизводить себя и осознавать собственное существование.

Вопрос на весь урок: если правило никто не программировал, что именно изменилось в машине за эти 50 попыток? Подсказка — в названии урока. Ответ уместится в одну строчку формулы, и к концу ты сможешь посчитать её руками.

Чего не умел компьютер 1940-х

Отмотаем от той демонстрации ещё лет на пятнадцать назад. В 1940-х компьютеры уже есть и уже впечатляют. Слайд 4 лекции 2 называет две вещи, которые им удавались: делать в точности то, что написал программист, и очень быстро считать.

Так устроена машина фон Неймана (Von Neumann machine): процессор достаёт из памяти одну инструкцию за другой и выполняет их по порядку. Память и вычисление разделены, всё идёт последовательно и точно. Для длинных точных расчётов это идеально.

Для задачи «узнать знакомого на зернистой фотографии» — нет. Исследователям не хватало трёх умений. Этот список — готовый ответ на экзаменационное «why»:

  1. работать с зашумлёнными данными или напрямую с окружающей средой (noisy data, the environment);
  2. быть массово параллельной и устойчивой к отказам (massively parallel, fault tolerant);
  3. приспосабливаться к обстоятельствам (adapt to circumstances).

Поэтому на слайде и сказано, что искали вычислительную модель за пределами машины фон Неймана — a computational model beyond the Von Neumann machine. Нужен был не более быстрый процессор, а другой способ считать.

инструкции — по одной 1 3 4 2 нет ответа сбой — и всё стоит

Машина фон Неймана: по очереди

все элементы — сразу вход ответ один выбыл — ответ есть

Модель мозга: параллельно и с запасом

Рис. 1. Одна и та же поломка. Слева шаги идут друг за другом, и сбой на шаге 2 останавливает всю цепочку. Справа простые элементы считают одновременно, и отказ одного почти не меняет ответ.

Правая картинка нарисована не из головы. Работающий образец такой машины у исследователей был — у каждого свой.

Мозг считает иначе

Числа со слайда 5 лекции 2 входят в экзаменационный материал, поэтому вот они одной таблицей.

Мозг человека как вычислительное устройство (слайд 5 лекции 2, конспект стр. 37).
Что считаемСколько
Нейронов\(10^{11}\) — сто миллиардов
Синаптических связей у одного нейронаоколо 7000
Синапсов у взрослогоот \(10^{14}\) до \(5 \times 10^{14}\)
Синапсов у трёхлетнего ребёнка\(10^{15}\)

Удивляет здесь другое. Нейрон — медленный элемент: он переключается за миллисекунды, а современная цифровая логика — за наносекунды, то есть в миллион раз быстрее. И всё же знакомое лицо мозг узнаёт без труда, а компьютеру 1940-х эта задача не по силам вовсе. Значит, дело не в скорости одного элемента.

Слайд описывает вычислительную модель мозга тремя свойствами:

Конспект добавляет четвёртое свойство — адаптивность: сила синапсов меняется с опытом. Это и есть обучение, и к нему мы вернёмся в конце урока.

Теперь положи рядом два списка: чего хотели от машины и что есть у мозга. На вопрос «why the brain?» отвечает именно эта пара, а не каждый список по отдельности.

Каждое желание со слайда 4 лекции 2 закрыто свойством мозга.
Чего хотели от машиныЧто есть у мозга
noisy data, the environmentмозг узнаёт знакомое лицо и на зернистом фото: он всё время работает с шумными сигналами прямо из среды
massively parallelintrinsically parallel
fault tolerantredundant and thus fault tolerant
adapt to circumstancesсила синапсов меняется с опытом (конспект, стр. 37)

Оставшееся свойство — distributed among simple non linear units — говорит, из чего такая машина собрана: из множества простых элементов вместо одного сложного. Слайд 5 так и заканчивается: Perceptron: a computational model based on the brain. Оставалось понять, как считает один такой элемент.

Мозг выигрывает не скоростью элемента, а числом элементов, которые работают одновременно.

От живого нейрона к формуле

От биологии слайд 7 лекции 2 оставляет две фразы. Дендриты (dendrites) собирают заряд от синапсов (synapses) — возбуждающих (excitatory) и тормозящих (inhibitory). Когда накопленный заряд переходит порог (threshold), нейрон «срабатывает» (fires): посылает сигнал по аксону дальше.

Получается четыре шага: собрать → сложить → сравнить с порогом → сработать. На рисунке каждому шагу достаётся своя буква.

синапсы дендриты сома аксон порог

Биологический нейрон

x₁ x₂ x₃ w₁ w₂ w₃ Σ − 1 b выход сумма порог

Искусственный нейрон (слайд 7 лекции 2)

Рис. 2. Что от чего осталось. Синие кружки — возбуждающие синапсы, они стали положительными весами. Оранжевый крестик — тормозящий синапс, он стал отрицательным весом (пунктир). Сома превратилась в сумматор \(\Sigma\), порог — в число \(b\), аксон — в выход.
Словарь перевода с биологии на математику.
В биологииВ моделиБуква
сигналы, приходящие на дендритывходы\(x_i\)
сила синапса: возбуждающий или тормозящийвес: положительный или отрицательный\(w_i\)
сома копит зарядвзвешенная сумма\(\sum w_i x_i\)
порог срабатыванияпорог\(b\)
сработал или молчитфункция активации\(h_j(\cdot)\)

Сначала на примере

Пусть такой нейрон решает за тебя, идти ли завтра на лекцию к 8:15. У него три входа, каждый равен 1 («да») или 0 («нет»), и у каждого свой вес:

Порог \(b = 1.5\): идти, только если доводы в сумме перевешивают полтора. Посчитаем четыре разных утра.

Нейрон с весами \((2,\ 1,\ -1)\) и порогом \(1.5\).
Утро\((x_1, x_2, x_3)\)Взвешенная суммаБольше 1.5?Выход
не записывают(1, 0, 0)\(2\)да1
только друг(0, 1, 0)\(1\)нет0
не записывают, но дождь(1, 0, 1)\(2 - 1 = 1\)нет0
всё сразу(1, 1, 1)\(2 + 1 - 1 = 2\)да1

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

Теперь формулой

\[ h_j(\vb{x} \mid \vb{w}, b) = h_j\Big(\sum_{i=1}^{I} w_i x_i - b\Big) \] \[ h_j(a) = \begin{cases} 1, & a \gt 0 \\ 0, & \text{иначе} \end{cases} \]
\(x_i\)
входы, их \(I\) штук
\(w_i\)
веса (weights): сила и знак каждой связи
\(b\)
порог (threshold): планка, которую должна перейти сумма
\(a\)
то, что попадает в ступеньку: сумма за вычетом порога
\(h_j\)
функция активации (activation function) и заодно выход нейрона номер \(j\)
\(\mid\)
черта читается «при данных»: слева от неё вход, справа настройки нейрона

Искусственный нейрон (artificial neuron) — вычислительный элемент, который делает три шага: считает взвешенную сумму входов (integration), вычитает порог (thresholding) и пропускает результат через функцию активации (firing decision).

Ступенька \(h_j\) носит имя Heaviside step function. Вся нелинейность нейрона живёт в ней одной.

1 0 a h(a) молчит сработал
Рис. 3. Ступенька Хевисайда: 0, пока \(a \le 0\), и 1, как только \(a \gt 0\). Закрашенная точка показывает, что ровно в нуле нейрон ещё молчит.

Взвешенная сумма знакома по Applied Statistics: это та же линейная комбинация \(\beta_1 x_1 + \dots + \beta_p x_p\), что в линейной регрессии. Удвоишь входы — удвоится сумма. Ступенька так себя не ведёт: она отвечает скачком. Нейрон — это линейная часть плюс нелинейная ступенька. Без ступеньки от него осталась бы обычная линейная модель, та же формула, что у регрессии.

«Искусственный нейрон моделирует настоящий». Нет: от биологии в нём остались только взвешенное суммирование и порог. Импульсов, времени и химии в модели нет. Слово «нейрон» здесь — название математического элемента, а не обещание.

Теперь собери всё руками. Главное, что должно стать очевидным из этого виджета: порог \(b\) и вес \(w_0\) — одна и та же ручка, подписанная с двух сторон с разными знаками.

Нейрон руками

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

  1. Сейчас включён только \(x_1\): сумма 2 больше порога 1.5, нейрон сработал. Включи дождь (\(x_3\)). Сначала реши: сработает ли он теперь? А если добавить ещё и друга (\(x_2\))?
    Что должно получиться

    С дождём сумма \(2 - 1 = 1\), до порога 1.5 она не дотягивает — нейрон молчит. С другом \(2 + 1 - 1 = 2\), и он снова срабатывает. Включённый вход с отрицательным весом отнимает от суммы: это тормозящий синапс.

  2. Выключи все три входа. Сумма равна нулю при любых весах. Можно ли заставить нейрон сработать, не трогая входы и веса? Сначала ответь, потом двигай ползунок порога.
    Что должно получиться

    Да: нужен отрицательный порог, например \(b = -0.5\). Тогда \(0 \gt -0.5\). Такой нейрон срабатывает «по умолчанию», пока входы его не отговорят. Заметь, что ползунок \(w_0\) при этом уехал в плюс.

  3. Нажми «Вернуть пример про лекцию» и включи переключатель «порог как вес \(w_0\)». До нажатия предскажи: изменится ли выход? Куда на шкале переедет порог и куда — точка?
    Что должно получиться

    Выход тот же. Порог переехал в ноль, а точка сдвинулась влево на 1.5: теперь она показывает \(2 - 1.5 = 0.5\). Жёлтый отрезок между точкой и порогом остался той же длины — изменилась только точка отсчёта. На схеме узел «−» исчез, а у входа «1» появился собственный вес \(w_0 = -1.5\).

  4. Не выключая переключатель, веди ползунок \(w_0\) вправо: от \(-1.5\) к \(+0.5\). Нейрону становится легче сработать или труднее? Что в это время делает ползунок \(b\)?
    Что должно получиться

    Легче: при \(w_0 = 0.5\) он срабатывает даже с выключенными входами. Ползунок \(b\) едет в противоположную сторону, к \(-0.5\), потому что \(b = -w_0\). Большой bias — это низкий порог.

Порог — тоже ручка

В третьем опыте порог превратился в вес, а нейрон этого «не заметил»: все ответы остались прежними. Разберёмся почему — это самое экзаменационное место урока.

У нейрона пока два вида настроек. Веса стоят при входах, а порог живёт отдельно, внутри сравнения. Для обучения это неудобно: понадобятся два правила — как менять веса и как менять порог. В 1960 году Bernard Widrow в модели ADALINE записал порог как ещё один вес. На слайдах это переход от схемы 7 к схеме 8.

x₁ x₂ x₃ w₁ w₂ w₃ Σ − 1 b порог отдельно

До: порог вычитает отдельный узел (слайд 7 лекции 2)

x₁ x₂ x₃ w₁ w₂ w₃ 1 x₀ w₀ = −b порог стал весом

После: порог — вес при входе «1» (слайд 8 лекции 2)

Рис. 4. Жёлтым выделено то, что изменилось. Узел «−» исчез. Единица, которая раньше обслуживала только его, стала рядовым входом \(x_0\) со своим весом \(w_0 = -b\).

Вывод по шагам

  1. Начнём с того, что нейрон делает буквально: срабатывает, когда взвешенная сумма входов больше порога.

    \[ \sum_{i=1}^{I} w_i x_i \gt b \]
  2. Перенесём порог налево. Неравенство то же самое, но сравниваем теперь с нулём — с числом, которое не надо настраивать.

    \[ \sum_{i=1}^{I} w_i x_i - b \gt 0 \]
  3. Запишем \(-b\) как произведение на единицу. Пока это выглядит бессмысленно.

    \[ \sum_{i=1}^{I} w_i x_i + (-b) \cdot 1 \gt 0 \]
  4. Дадим множителям имена. Единица — это ещё один вход \(x_0\), который включён всегда. Число \(-b\) — его вес \(w_0\).

    \[ x_0 \equiv 1, \qquad w_0 \equiv -b \]
  5. Слагаемое \(w_0 x_0\) устроено так же, как остальные: вес, умноженный на вход. Значит, его можно внести под знак суммы и начать счёт с нуля.

    \[ \sum_{i=0}^{I} w_i x_i \gt 0 \]
  6. Сумма произведений — это скалярное произведение. В обоих векторах теперь по \(I + 1\) компоненте: \(\vb{x} = (1, x_1, \dots, x_I)\) и \(\vb{w} = (w_0, w_1, \dots, w_I)\).

    \[ \vb{w}\T\vb{x} \gt 0 \]

    Проверка на утре «всё сразу»: было \(2 + 1 - 1 = 2 \gt 1.5\), стало \(-1.5 + 2 + 1 - 1 = 0.5 \gt 0\). Оба неравенства верны одновременно.

Целиком это одна строка со слайда 7 лекции 2. Её стоит уметь написать по памяти, со всеми тремя знаками равенства.

\[ h_j(\vb{x} \mid \vb{w}, b) = h_j\Big(\sum_{i=1}^{I} w_i x_i - b\Big) \] \[ = h_j\Big(\sum_{i=0}^{I} w_i x_i\Big) = h_j(\vb{w}\T\vb{x}) \]
\(x_0\)
постоянный вход, всегда равен 1
\(w_0\)
bias, равен \(-b\)
\(\vb{w}\T\vb{x}\)
скалярное произведение векторов из \(I + 1\) компоненты

Bias (смещение) — вес \(w_0\) постоянного входа \(x_0 = 1\). Он равен порогу с обратным знаком, \(w_0 = -b\), и задаёт склонность нейрона срабатывать «по умолчанию», когда остальные входы равны нулю. Приём с лишним входом называют bias trick.

Знак: порог и bias смотрят в разные стороны

Срабатывает, если \(\sum_{i=1}^{I} w_i x_i \gt b\).

Больше \(b\) — планка выше, сработать труднее.

Срабатывает, если \(\sum_{i=1}^{I} w_i x_i + w_0 \gt 0\).

Больше \(w_0\) — планка ниже, сработать легче.

Определение из конспекта (Definition 2, стр. 40) говорит то же словами. A large positive bias — нейрон срабатывает даже при слабых входах. A large negative bias — ему нужны сильные доводы. И ещё: bias сдвигает ступеньку по горизонтали. На шкале виджета (в схеме слайда 7) это фиолетовая черта: чем больше \(w_0\), тем левее она стоит.

Отсюда правило чтения чужих формул. На слайдах \(b\) — порог, а bias — это \(w_0 = -b\). В конспекте начиная со стр. 40, как и в большинстве учебников, буквой \(b\) называют уже сам bias и пишут \(a = \vb{w}\T\vb{x} + b\). Буква одна, а знаки противоположные.

Увидев \(b\), смотри на знак перед ним. Минус (\(\dots - b\)) — это порог: больше \(b\), труднее сработать. Плюс (\(\dots + b\)) — это bias, то есть наше \(w_0\): больше \(b\), легче сработать.

Зачем вообще прятать порог в вес?

Причин три. Все настройки нейрона оказываются в одном векторе \(\vb{w}\), и сравнение всегда идёт с нулём. Правило обучения становится одно на всех: то же действие, которое меняет \(w_1\), меняет и \(w_0\) — это пригодится в уроке 7. И наконец, выражение \(\vb{w}\T\vb{x}\) удобно дифференцировать. ADALINE этим и пользовалась: она измеряла ошибку по самой сумме, до ступеньки, а сумма, в отличие от ступеньки, меняется плавно. Отсюда прямая дорога к gradient descent (урок 13).

Кто что придумал: 1943–1991

Формула у тебя есть. Теперь разложим по годам, кто какую её часть добавил, — и заодно проверим, правда ли нейросети изобрели недавно. Главное, что должно стать очевидным из шкалы: почти каждая веха закрывает одну дыру, оставленную предыдущими.

Восемь вех за 48 лет

Шкала линейная: расстояние между точками — это годы. Листай кнопками или нажимай на точки. Под шкалой — что область уже умеет к выбранному году.

  1. Не листая: что появилось раньше — математическая модель нейрона или сама область «artificial intelligence»? На сколько лет? Проверь по шкале.
    Что должно получиться

    Нейрон: 1943 год. Заявка Dartmouth, с которой отсчитывают историю AI, написана в 1955-м — через 12 лет. Нейросети не моложе AI, они старше его названия.

  2. Листай «Дальше» и следи за строкой «нейрон учится на примерах». На каком шаге там появится «да»? Чем нейрон обходился до этого?
    Что должно получиться

    В 1957-м, у Rosenblatt. До этого модель существовала 14 лет, а принцип обучения — 8 лет, но веса всё равно подбирал человек. Вклад Rosenblatt — не нейрон, а обучение.

  3. Посмотри на расстояния между точками. Между какими соседними вехами промежуток самый длинный? Чего именно не хватало всё это время? Проверь по строке «учатся скрытые слои».
    Что должно получиться

    Между 1969 и 1986: 17 лет. В 1969-м стало ясно, что одного слоя мало, а учить несколько слоёв было нечем, пока не распространился backpropagation.

Для экзамена из этой шкалы прежде всего нужны три имени со слайда 9 лекции 2 — и то, что нового внёс каждый:

Первую модель нейрона написали нейрофизиолог, которому было за сорок, и логик-самоучка лет двадцати, одно время живший без дома. Статья называлась «A Logical Calculus of the Ideas Immanent in Nervous Activity», и получилось у них именно логическое устройство: из пороговых элементов собирались AND, OR и NOT. Учиться оно не умело — веса задавались раз и навсегда.

Нейросети — ровесники AI

Слайд 2 озаглавлен провокационно: «Deep Learning is not AI, nor Machine Learning». Он не отрицает родство, а напоминает, что это три разных слова. Deep learning — семейство методов внутри machine learning, а machine learning — часть artificial intelligence.

Artificial Intelligence Machine Learning Deep Learning 1950-е 1980-е 2010-е нейросети уже здесь а первый нейрон — 1943
Рис. 5. Картинка со слайда 2 лекции 2. Три области вложены друг в друга и расцвели в разное время. Но нейросети живут не в правом нижнем углу: первая модель нейрона старше самого слова AI.

Доказательство — на слайде 3. Заявку на Дартмутский летний проект подали в 1955 году John McCarthy, Marvin Minsky, Nathaniel Rochester и Claude Shannon; с неё отсчитывают историю AI как области. В списке тем под номером три стоит Neuron Nets: как соединить нейроны, чтобы они формировали понятия.

Дальше, по конспекту, идея разошлась на две традиции. Символьная (symbolic) делала ставку на явные правила, логику и представления, придуманные человеком. Коннекционистская (connectionist) — на сети простых элементов, которые учатся на данных. Вторая долго оставалась в тени и вернулась под именем deep learning; почему именно в 2012-м — тема урока 4.

Нейронная сеть (neural network) — набор искусственных нейронов, соединённых взвешенными связями. Она преобразует вход в выход и учится, меняя веса.

«Нейросети изобрели в 2010-х». Нет: модель — 1943, принцип обучения — 1949, обучаемая машина — 1957. В 2010-х появились не нейросети, а данные и вычислительная мощность, которых им не хватало.

Что менялось в машине за 50 попыток

Вернёмся к пятитонному компьютеру 1958 года. Теперь на вопрос из начала урока можно ответить точно. Внутри считался перцептрон: взвешенная сумма и порог. Сама процедура «сложить и сравнить» за 50 попыток не изменилась ни на шаг. Менялись числа \(w_0, w_1, \dots, w_I\).

В аппаратной версии, Mark I Perceptron, эти числа можно было потрогать. «Сетчатка» из 400 фотоэлементов (20 × 20), 512 промежуточных элементов, 8 выходных. Каждый настраиваемый вес — потенциометр, обычная ручка вроде регулятора громкости. Во время обучения ручки поворачивали электромоторы. Отсюда и название урока: машина, которая сама крутит ручки.

Сколько ручек у нейрона с \(I\) входами? Ровно \(I + 1\): по одной на вход и ещё одна — bias. Порог оказался такой же ручкой, как остальные, и это ровно то, что записал Widrow.

Обучение не переписывает программу. Оно меняет числа \(w_0, \dots, w_I\) — и больше ничего.

А что с обещаниями газеты? Формула показывает их цену. Один такой нейрон умеет одно: сравнить одну взвешенную сумму с одним порогом. Отличить «метка слева» от «метка справа» этого хватает. Что это значит на картинке и где у такого элемента предел — в уроке 6 и уроке 8. А по какому правилу моторы решали, куда крутить ручку, — в уроке 7.

В формате экзамена

Write the mathematical model of an artificial neuron with a firing threshold \(b\). Then show how the threshold can be represented as a weight and say why this is convenient.

Show model answer

The neuron computes a weighted sum of its \(I\) inputs, subtracts the threshold and applies an activation function \(h_j\) (a step: 1 if its argument is positive, 0 otherwise):

\[ h_j(\vb{x} \mid \vb{w}, b) = h_j\Big(\sum_{i=1}^{I} w_i x_i - b\Big) \]

Add a constant input \(x_0 = 1\) with weight \(w_0 = -b\). Then \(-b = w_0 x_0\) is simply the \(i = 0\) term of the sum:

\[ h_j\Big(\sum_{i=0}^{I} w_i x_i\Big) = h_j(\vb{w}\T\vb{x}) \]

with \(\vb{x} = (1, x_1, \dots, x_I)\) and \(\vb{w} = (w_0, w_1, \dots, w_I)\). The weight \(w_0\) is the bias. It is convenient because all \(I + 1\) parameters sit in one vector, the sum is always compared with zero, and the same learning rule updates the bias like any other weight.

В полном ответе три вещи: строка с тремя равенствами, явные слова «\(x_0 = 1\), \(w_0 = -b\)» (без них второе равенство неверно) и знак. Фраза «the bias is the threshold» без минуса — ошибка: это два числа с противоположными знаками.

In the 1940s researchers were seeking a computational model beyond the Von Neumann machine. What were computers already good at, what was missing, and which properties of the brain made it an attractive alternative?

Show model answer

Computers were good at doing exactly what they were programmed to do and at very fast arithmetic. Researchers also wanted machines that could (i) interact with noisy data or directly with the environment, (ii) be massively parallel and fault tolerant, (iii) adapt to circumstances.

The brain does all three. It has about \(10^{11}\) neurons, each with about 7,000 synaptic connections (\(10^{14}\) to \(5 \times 10^{14}\) synapses in adults). Its computational model is distributed among simple non-linear units, redundant and therefore fault tolerant, and intrinsically parallel; synaptic strengths change with experience, which gives adaptation. A single neuron is slow (milliseconds), so the power comes from parallelism, not from the speed of the unit.

Вопрос на «why», поэтому мало перечислить свойства мозга — нужно связать их с тремя желаниями. Числа \(10^{11}\) и 7000 добавляют ответу веса; ms против ns показывает, что ты понимаешь, откуда берётся сила модели.

A neuron has three binary inputs with weights \(w_1 = 1.5\), \(w_2 = -1\), \(w_3 = 2\) and a firing threshold \(b = 2\). The threshold is represented as a bias weight \(w_0\) on a constant input \(x_0 = 1\). For the input \((x_1, x_2, x_3) = (1, 1, 1)\) compute \(\vb{w}\T\vb{x}\), the argument of the activation function.

Show model answer

\(w_0 = -b = -2\), so

\[ \vb{w}\T\vb{x} = -2 + 1.5 - 1 + 2 = 0.5 \]

Since \(0.5 \gt 0\), the neuron fires (output 1).

Две ловушки: забыть слагаемое \(w_0 x_0\) (получится 2.5) и взять \(w_0 = +2\) (получится 4.5). Эти числа можно выставить в виджете и проверить себя.

A neuron fires when \(0.6 + 0.8\,x_1 - 0.4\,x_2 \gt 0\). Rewritten in the form \(w_1 x_1 + w_2 x_2 \gt b\), what is its firing threshold \(b\)?

Show model answer

Here \(w_0 = 0.6\). Moving it to the right-hand side gives \(0.8\,x_1 - 0.4\,x_2 \gt -0.6\), so

\[ b = -w_0 = -0.6 \]

The threshold is negative: the neuron fires even when both inputs are zero.

Вся задача — про знак. Ответ 0.6 — типичная ошибка: порог и bias всегда противоположны по знаку.

Which of the following historical statements are correct? Select all that apply.

  • In 1943 McCulloch and Pitts proposed the Threshold Logic Unit, whose activation is equivalent to the Heaviside step function. Первая математическая модель нейрона.
  • In 1957 Rosenblatt developed the first Perceptron; its weights were stored in potentiometers and updated by electric motors. Первая обучаемая модель, машина Mark I.
  • McCulloch and Pitts also gave the rule that learns the weights of their unit from examples. Веса у них фиксированы. Принцип обучения — Hebb, 1949; обучаемая машина — Rosenblatt, 1957.
  • In 1960 Widrow's ADALINE introduced the idea of representing the threshold as a bias term. Тот самый \(w_0 = -b\).
  • Neural networks appeared in the 1980s, when machine learning began to flourish. «Neuron Nets» стоят уже в заявке Dartmouth 1955 года, а модель нейрона — 1943 год.
Show model answer

Correct: the 1943, 1957 and 1960 statements. McCulloch and Pitts proposed a model with fixed weights and no learning. Neural networks are as old as AI itself: "Neuron Nets" is one of the topics of the 1955 Dartmouth proposal.

Формула для памяти: 1943 — модель, 1957 — обучение, 1960 — порог как bias. Если спросят «what was new?», отвечай именно этим словом.

Which component makes the artificial neuron a non-linear unit?

  • The weighted sum of the inputs Она линейна по входам: удвоишь входы — удвоится сумма.
  • The bias weight \(w_0\) Он прибавляет константу. Сдвиг не делает ответ скачкообразным.
  • The activation function Ступенька отвечает скачком: 0 или 1.
  • The number of inputs Сколько бы входов ни было, сумма остаётся линейной.
Show model answer

The activation function. The weighted sum \(\vb{w}\T\vb{x}\) is linear in the inputs; the step applied to it is not. Example: with weights \((1, 1)\) and threshold 1.5 each input alone gives output 0, but both together give 1, so the output for a sum of inputs is not the sum of the outputs.

Короткий вопрос, на котором легко ответить «the weights». Контрпример в одну строку делает ответ неуязвимым.

Проверь себя

Нейрон из примера про лекцию: веса \((2, 1, -1)\), порог \(b = 1.5\). На входе \((1, 0, 1)\). Что на выходе?

  • 1, потому что сумма положительна Сумма и правда положительна, \(2 - 1 = 1\), но сравнивать её надо с порогом 1.5. С нулём сравнивают только после того, как порог спрятан в \(w_0\).
  • 0, потому что сумма не дотягивает до порога \(2 \cdot 1 + 1 \cdot 0 - 1 \cdot 1 = 1\), а \(1 \gt 1.5\) неверно. В записи с \(w_0\): \(-1.5 + 1 = -0.5\), это меньше нуля.
  • 1, потому что включено два входа из трёх Нейрон не считает, сколько входов включено. Он складывает их веса, а у третьего входа вес отрицательный.
  • Зависит от того, записан порог как \(b\) или как \(w_0\) Bias trick меняет запись, а не ответ: \(1 \gt 1.5\) и \(-0.5 \gt 0\) ложны одновременно.

У нейрона \(w_0\) увеличили с \(-2\) до \(+1\), веса при входах не трогали. Что произошло?

  • Порог упал с 2 до −1, срабатывать стало легче \(b = -w_0\). При \(w_0 = 1\) нейрон срабатывает даже с нулевыми входами: \(0 + 1 \gt 0\).
  • Порог вырос с −2 до 1, срабатывать стало труднее Ловушка знака: порог равен \(w_0\) с минусом, а не самому \(w_0\).
  • Ничего: \(w_0\) нужен только для красоты записи Запись эквивалентна, но \(w_0\) — настоящий параметр: от него зависит, где проходит планка.
  • Нейрон стал сильнее реагировать на каждый вход Силу реакции на вход задаёт его собственный вес \(w_i\). \(w_0\) прибавляет одно и то же число к любой сумме.

Порог \(b\) спрятали в вес \(w_0\). Что при этом произошло? Отметь всё верное.

  • У нейрона появился вход \(x_0\), который всегда равен 1 Именно на него и умножается \(w_0\).
  • Сумму теперь сравнивают с нулём, а не с \(b\) Порог переехал в левую часть неравенства.
  • У нейрона стало на один настраиваемый параметр больше Было \(I + 1\) чисел (веса и порог), и осталось \(I + 1\) (веса и \(w_0\)). Порог не добавился, а сменил имя.
  • Нейрон стал иначе отвечать на часть входов Неравенства \(\sum w_i x_i \gt b\) и \(\sum w_i x_i + w_0 \gt 0\) при \(w_0 = -b\) — одно и то же.
  • В векторах \(\vb{w}\) и \(\vb{x}\) стало по \(I + 1\) компоненте Без этого запись \(\vb{w}\T\vb{x}\) не включала бы порог.

Картинка для памяти: узел «−» со слайда 7 лекции 2 исчезает, а единица получает собственную стрелку с весом \(w_0\).

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

  • Нейрон считает точнее транзистора Наоборот: точность — сильная сторона машины фон Неймана, а биологические сигналы шумные.
  • Около \(10^{11}\) медленных элементов работают одновременно и подстраховывают друг друга Сила модели в параллельности и избыточности: она распределённая, отказоустойчивая и параллельная по природе.
  • В мозге есть центральный узел, который раздаёт задачи Центрального процессора как раз нет: обработка распределена между простыми элементами.
  • Каждый нейрон в одиночку решает сложную задачу Каждый нейрон делает очень простую нелинейную операцию. Сложность берётся из их числа и связей.

Что нового было в перцептроне Rosenblatt (1957) по сравнению с элементом McCulloch и Pitts (1943)?

  • Сравнение взвешенной суммы с порогом Это было уже в 1943-м: Threshold Logic Unit и есть сумма плюс порог.
  • Веса перестал задавать человек: машина настраивала их по примерам Первая обучаемая модель. В Mark I веса — потенциометры, которые крутят моторы.
  • Порог, записанный как bias Это идея Widrow: ADALINE, 1960 год.
  • Скрытые слои, которые учатся До этого почти тридцать лет: backpropagation стал известен в 1986-м.

Нейрон первого поколения считает \(h_j(\vb{w}\T\vb{x})\) со ступенькой \(h_j\). Какая часть этой формулы нелинейна?

  • Взвешенная сумма \(\vb{w}\T\vb{x}\) Она линейна по входам: удвоишь входы — удвоится сумма.
  • Функция активации \(h_j\) Проверка: веса \((1, 1)\), порог 1.5. По отдельности входы дают 0 и 0, вместе — 1.
  • Никакая: такой нейрон — линейная система Так написано в конспекте на стр. 42, но это неточно. Линейна только сумма; на слайде 5 лекции 2 элементы названы simple non linear units.
  • Вес \(w_0\) Он прибавляет константу. Скачок в ответе создаёт ступенька, а не сдвиг.

Заголовок слайда 2 лекции 2: «Deep Learning is not AI, nor Machine Learning». Что из этого следует? Отметь всё верное.

  • Deep learning — часть machine learning, а machine learning — часть AI: области вложены, но не совпадают Три слова — не синонимы. Это и есть смысл заголовка.
  • Deep learning не имеет отношения к AI Заголовок провокационный: он говорит, что слова разные, а не что области не связаны.
  • Сами нейросети намного старше deep learning Модель нейрона — 1943, перцептрон — 1957, а «Neuron Nets» есть в заявке Dartmouth 1955 года.
  • Нейросети появились в 2010-х вместе с deep learning В 2010-х появились данные и вычислительная мощность (урок 4), а не сама идея.

Унести с собой

Что посмотреть и почитать