От человека к машине: входные сигналы математической модели нейрона

279 прочитали
 Начинаем прокладывать мостик от человеческих нейронов, к тому, на чем базируются искусственные нейронные сети, и как они работают.

Начинаем прокладывать мостик от человеческих нейронов, к тому, на чем базируются искусственные нейронные сети, и как они работают.

Прелюдия

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

Но нейронные сети, хотя и взявшие за прототип нейроны человека — просто куча железа, подключенная к электрическому току, который особым образом циркулирует по своим цепям. И все! Здесь нет никакой биологии, на которую можно сослаться как на непостижимое таинство. В железе ничего такого нет. Что в нем может думать? Как искусственный интеллект анализирует символы, цветные картинки, видео, показания разных датчиков?

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

Будем разбираться, как и какую информацию может переносить электрический сигнал. На вопрос «КАК» ответ простой и очевидный — наличием или отсутствием сигнала (тока).

Обозначим единицей наличие тока, а нулем его отсутствие. Всего 2 варианта.

БИТ

В компьютерных системах и телекоммуникационных сетях такой сигнал назвали БИТОМ (от англ. binary digit, двоичная цифра). Это базовая единица информации (БЕИ). Он может принимать два значения: 0 или 1. Это ответ на вопрос «ЧТО».

По большому счету очень многое в этом мире так устроено:

  • Да — нет
  • Правда — ложь
  • Инь — Янь
  • Мужчина — Женщина
  • Единство — борьба
  • Мир — война
  • Мед либо есть, либо его сразу нет (по Винни Пуху)

Кодирование символов

Но много информации одним битом не перешлешь. Значит, нужно несколько бит. Допустим, два. Это две БЕИ? Казалось бы, да. Но посмотрим.

Примем во внимание последовательность сигналов в двух битах. Например, в первом бите пришел 0. Во втором может прийти 1 или 0. Два варианта. И еще два, если первый бит равен 1. Всего 4 варианта. В двух битах можно передать 4 единицы информации.

Сколько же в трех битах? Первые два бита дают 4 варианта. А в третьем опять может быть либо 0, либо 1. Еще 4 варианта. Всего 8.

Значит с добавлением каждого нового бита, количество информации удваивается. Или равно 2 в степени n (количество битов).

Это так называемая двоичная система исчисления.

Начало последовательности чисел выглядит следующим образом: 1 - 2 - 4 - 8 - 16 - 32 - 64 - 128 - 256 - 512 - 1024.

Значит, в 10 битах можно передать 1024 БЕИ.

БАЙТ

Лучше передавать информацию частями в несколько бит. Назовем такую порцию БАЙТОМ. Сколько бит оптимально для байта? Чтобы закодировать все цифры, большие и малые буквы алфавита? 128 комбинаций (7 бит), вроде бы подойдет. Правда, забыли про пробел и знаки препинания. И специальные символы, как видимые, так и невидимые. Например, Новая строка и Перевод каретки (ENTER). А если информацию нужно представлять не только на родном языке, но еще и на другом, английском, к примеру?

Добавим еще один, восьмой бит. В нем помещается 256 комбинаций.

Итак, байт, как единица кодирования информации, состоит из 8 бит.

Поначалу этого хватило.

Правда затем, когда захотелось кодировать в одном стандарте алфавиты всех языков, а также, иероглифы, математические символы и даже такие специальные символы, как эмодзи, придумали стандарт Юникод. В нем единица кодирования информации состоит из двух байтов, т. е. 65536 комбинаций (2 в степени 16), кодов или последовательных целых чисел. В 4 байтах можно умеcтить целые числа до 2 в степени 32 и т. д. Вещественные числа можно также представить байтами.

Итак, в нескольких байтах, передаваемых электрическим сигналом, можно закодировать любое число.

Что, кроме чисел, может передавать сигнал?

Кодирование цвета

Из теории цвета известно, для простейшей системы цветов достаточно смешать 3 краски. И если возьмем по одному байту для передачи оттенков красного (Red), зеленого (Green) и синего/голубого (Blue), при смешении этих цветов можем получить любой цвет. Это система RGB.

Можно смешивать и другие наборы цветов. Зачем? Разве не хватает RGB?

— Цели могут быть разные. Например, экономия краски при печати цветных картинок. Тогда используют систему CMYK: Cyan — Magenta — Yellow — Key (циан — пурпурный — желтый — черный). Для кодирования цвета в такой системе необходимо 4 байта, по одному на каждый оттенок.

Назовем оттенок каналом или измерением.

Кодирование изображений

Мы уже знаем, как кодировать символы и цвет пикселя. Пиксель — это мельчайшая единица хранения информации для цветной точки. Если еще добавить расположение пикселя на картинке, можно закодировать изображение.

Для шифрования цветной картинки, фото, изображения достаточно 3-х или 4-х измерений.

Кодирование прочей информации

В случае n-мерного пространства, добавим по байту для каждого измерения. Если одним из измерений будет время, то можно кодировать движение. Применяется для видео. Или сигнала, меняющегося со временем (временной ряд): цена на акции или показания какого-нибудь сенсора. Если датчиков (или параметров) несколько, то нужно иметь по одному измерению для каждого параметра.

Звук, например, можно разложить на: частоту дискретизации, битовую глубину, количество каналов и формат сжатия. Добавьте еще время и будет мелодия.

По аналогичному принципу кодируется и расшифровывается другая информация.

Даже, казалось бы, нечисловые параметры (так называемые категориальные):

  • красный, оранжевый, желтый, зеленый, голубой, синий, фиолетовый (цвета радуги);
  • диапазоны: до 18, 18-24, 25-36 и т.д. (возрастные группы);
  • 1 комната, 2 комнаты, 3 комнаты, 4 и более комнат (размеры квартир);
  • неудовлетворительно, удовлетворительно, хорошо, отлично (оценки)

можно закодировать.

Здесь важно не само описание, а количество таких отдельных подклассов. Каждому подклассу ставим в соответствие число. Это особенно понятно в последнем приведенном примере с оценками.

Итак, делаем:

Первый главный вывод

Любую информацию можно представить числами.

Входные (и выходные) сигналы нейронных сетей — числа. Они могут передаваться с помощью электрических сигналов.

Все внутренние алгоритмы нейронных сетей работают только с числами.

На входе нейронки могут получать информацию в привычном для человека виде. Она перед использованием просто «раздевается» до голых цифр. А результат наоборот — «одевается».

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

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

Далее можно почитать про память, без которой полноценно не обходится ни мозг, ни нейронка.

Оставшиесы куски математической модели нейрона здесь ==>>

PS.

Если кликнуть по названию канала, то увидите другие статьи. Можно выбрать еще что-то интересное для себя. А для просмотра будущих статей и поддержки автора — лучше вообще подписаться.

Имеется также постоянно обновляемый гид-путеводитель по статьям канала.

#нейросеть #нейронныесети #ИИ #AI #neuralnetworks #искусственныйинтеллект #нейроны #модельнейрона