30-дневный писательский челлендж

Идет 12-й день моего 30-дневного писательского конкурса. Вчера спроектировали нейросеть для распознавания рукописных цифр, готовлюсь к новой работе. Завтра мой последний день на моей текущей работе, затем у меня будет неделя, и я сразу же займусь созданием команды по машинному обучению.

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

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

Вчера наши изображения должны были быть размером 28 x 28 пикселей и содержать только 1 цифру. Мы бы сказали, что они полностью нормализовались. В реальном мире почерк редко бывает таким чистым. Буквы и цифры образуют слова и предложения и могут располагаться близко друг к другу или даже соединяться. У нас не всегда будут идеально подготовленные наборы данных для работы.

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

На этом принципе работает тип нейронной сети. Она называется сверточной нейронной сетью.

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

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

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

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

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

Это сообщение из моего 30-дневного писательского конкурса. Я инженер-программист, пытаюсь понять машинное обучение. У меня нет докторской степени, поэтому я объясню простым языком и приведу много примеров.

Подпишитесь на меня в Твиттере, чтобы увидеть мои последние сообщения. Если вам понравилась эта статья, нажмите кнопку с сердечком ниже, чтобы поделиться ею — это поможет другим людям увидеть ее.