Добавлен: 16.03.2024
Просмотров: 88
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Однако вернемся к индустрии 4.0, какова же роль программирования в этой индустрии? Довольно глупый вопрос, ведь индустрия 4.0 обязана программированию своим существованием. Не один из важных компонентов индустрии 4.0 не может быть отделим от программирования.
Возьмем для примера, по-моему, самую значимую часть индустрии 4.0-Мобильные устройства. Все что есть в мобильном телефоне функционирует исключительно благодаря программированию. Мобильное устройство без программного обеспечения бесполезно, его полезность в таком случае можно сравнить обычным камнем прямоугольной формы, и то камень в таком случае будет даже прочнее. Но в телефоне есть ведь не только операционная система и прочие программы, как на счет камеры? Но и тут неувязочка, даже камера сейчас работает с моментальной обработкой с помощью программ.
Для второго примера возьмем технологию виртуальной реальности. Эта технология тоже неотделима от программирования, все что мы видим в очках виртуальной реальности, отображается с помощью кода, то есть программирования.
2.2Нейросети как новый этап развития программирования
История искусственных нейронных сетей (ANN) началась с Уоррена Маккаллоха и Уолтера Питтса[1] (1943), которые создали вычислительную модель для нейронных сетей, основанную на алгоритмах, называемых пороговой логикой. Эта модель проложила путь для разделения исследований на два подхода. Один подход был сосредоточен на биологических процессах, в то время как другой был сосредоточен на применении нейронных сетей к искусственному интеллекту. Эта работа привела к работе над нейронными сетями и их связью с конечными автоматами.
Хеббианское обучение
В начале 1940-х годов Д. О. Хебб создал гипотезу обучения, основанную на механизме нейронной пластичности, которая стала известна как хеббианское обучение. Хеббианское обучение - это обучение без учителя. Это превратилось в модели для долгосрочного потенцирования. Исследователи начали применять эти идеи к вычислительным моделям в 1948 году с помощью машин B-типа Тьюринга. Фарли и Кларк (1954) впервые использовали вычислительные машины, тогда называемые "калькуляторами", для моделирования сети Хебба. Другие вычислительные машины с нейронными сетями были созданы Рочестером, Холландом, Хабитом и Дудой (1956). Розенблатт (1958) создал персептрон, алгоритм распознавания образов. Используя математические обозначения, Розенблатт описал схемы, отсутствующие в базовом персептроне, такие как схема исключающего или, которая в то время не могла быть обработана нейронными сетями. В 1959 году биологическая модель, предложенная нобелевскими лауреатами Хьюбелом и Визелем, была основана на их открытии двух типов клеток в первичной зрительной коре: простых клеток и сложных клеток. Первые функциональные сети со многими слоями были опубликованы Ивахненко и Лапой в 1965 году как групповой метод обработки данных.
Исследования застопорились после исследования машинного обучения Мински и Паперта (1969), которые обнаружили две ключевые проблемы с вычислительными машинами, обрабатывающими нейронные сети. Во-первых, базовые персептроны были неспособны обрабатывать схему исключающего или. Во-вторых, компьютеры не обладали достаточной вычислительной мощностью для эффективного выполнения работы, требуемой большими нейронными сетями. Исследования нейронных сетей замедлились, пока компьютеры не достигли гораздо большей вычислительной мощности. Большая часть искусственного интеллекта была сосредоточена на высокоуровневых (символьных) моделях, обрабатываемых с помощью явных алгоритмов, характеризующихся, например, экспертными системами со знаниями, воплощенными в правилах if-then, пока в конце 1980-х годов исследования не расширились до низкоуровневого (субсимволического) машинного обучения, характеризующегося знаниями, воплощенными впараметры когнитивной модели.
Обратное распространение
Ключевым стимулом для возобновления интереса к нейронным сетям и обучению стал алгоритм обратного распространения Вербоса (1975), который позволил проводить практическое обучение многослойным сетям. Обратное распространение распределило член ошибки обратно по слоям, изменив веса в каждом узле.
В середине 1980-х годов параллельная распределенная обработка данных стала популярной под названием коннекционизм. Румелхарт и Макклелланд (1986) описали использование коннекционизма для моделирования нейронных процессов.
Машины опорных векторов и более простые методы, такие как линейные классификаторы, постепенно вытеснили нейронные сети. Однако нейронные сети трансформировали такие области, как предсказание белковых структур.
В 1992 году было введено максимальное объединение, чтобы обеспечить наименьшую инвариантность сдвига и устойчивость к деформации для облегчения распознавания 3D-объектов. В 2010 году обучение обратному распространению с помощью максимального объединения было ускорено графическими процессорами и показало, что оно работает лучше, чем другие варианты объединения.
Проблема исчезающего градиента затрагивает многослойные сети прямой связи, которые использовали обратное распространение, а также рекуррентные нейронные сети (RNN). Поскольку ошибки распространяются от слоя к слою, они экспоненциально уменьшаются с увеличением количества слоев, препятствуя настройке весов нейронов, основанной на этих ошибках, особенно затрагивая глубокие сети.
Чтобы преодолеть эту проблему, Шмидхубер принял многоуровневую иерархию сетей (1992), предварительно обучаемых по одному уровню за раз путем неконтролируемого обучения и дорабатываемых путем обратного распространения. Бенке (2003) полагался только на знак градиента (Rprop) в таких задачах, как реконструкция изображения и локализация лица.
Хинтон и др. (2006) предложили изучать высокоуровневое представление с использованием последовательных слоев двоичных или вещественных скрытых переменных с ограниченной машиной Больцмана для моделирования каждого слоя. После изучения достаточного количества уровней глубинную архитектуру можно использовать в качестве генеративной модели путем воспроизведения данных при выборке модели ("наследственный проход") из активаций функций верхнего уровня. В 2012 году Нг и Дин создали сеть, которая научилась распознавать понятия более высокого уровня, такие как кошки, только при просмотре немаркированных изображений, взятых из видеороликов YouTube.
Более ранние проблемы в обучении глубоких нейронных сетей были успешно решены с помощью таких методов, как неконтролируемое предварительное обучение, в то время как доступная вычислительная мощность увеличилась за счет использования графических процессоров и распределенных вычислений. Нейронные сети использовались в больших масштабах, особенно в задачах распознавания изображений и визуального распознавания. Это стало известно как "глубокое обучение".
Аппаратные конструкции
Развитие очень крупномасштабной интеграции металл–оксид–полупроводник (MOS) (VLSI) в форме дополнительной технологии MOS (CMOS) позволило разработать практические искусственные нейронные сети в 1980-х годах.
Вычислительные устройства были созданы в CMOS, как для биофизического моделирования, так и для нейроморфных вычислений. Наноустройства для анализа и свертки основных компонентов очень большого масштаба могут создать новый класс нейронных вычислений, потому что они в основном аналоговые, а не цифровые (хотя в первых реализациях могут использоваться цифровые устройства).Сиресан и его коллеги (2010) в группе Шмидхубера показали, что, несмотря на проблему исчезающего градиента, графические процессоры делают возможным обратное распространение для многослойных нейронных сетей с прямой связью.
Сверточные нейронные сети
По состоянию на 2011 год, современное состояние в сетях прямого прямого обучения чередовалось между сверточными слоями и слоями с максимальным объединением, на вершине которых находилось несколько полностью или слабо связанных слоев, за которыми следовал конечный уровень классификации. Обучение обычно осуществляется без предварительной подготовки без учителя. Сверточный слой включает в себя фильтры, которые свернуты с вводом. Каждый фильтр эквивалентен вектору весов, который должен быть обучен.
Такие контролируемые методы глубокого обучения были первыми, которые позволили достичь производительности, конкурентоспособной с человеком, в определенных практических приложениях.
ANN смогли гарантировать инвариантность сдвига для работы с маленькими и большими природными объектами в больших загроможденных сценах, только когда инвариантность простиралась за пределы сдвига, ко всем понятиям, изученным ANN, таким как местоположение, тип (метка класса объекта), масштаб, освещение и другие. Это было реализовано в сетях развития (DNs), воплощениями которых являются сети Где-Что, WWN-1 (2008) через WWN-7 (2013).
Что собой представляют нейронные сети и какие задачи они могут решать
Нейронные сети — одно из направлений в разработке систем искусственного интеллекта. Идея заключается в том, чтобы максимально близко смоделировать работу человеческой нервной системы — а именно, её способности к обучению и исправлению ошибок. В этом состоит главная особенность любой нейронной сети — она способна самостоятельно обучаться и действовать на основании предыдущего опыта, с каждым разом делая всё меньше ошибок.
Нейросеть имитирует не только деятельность, но и структуру нервной системы человека. Такая сеть состоит из большого числа отдельных вычислительных элементов («нейронов»). В большинстве случаев каждый «нейрон» относится к определённому слою сети. Входные данные последовательно проходят обработку на всех слоях сети. Параметры каждого «нейрона» могут изменяться в зависимости от результатов, полученных на предыдущих наборах входных данных, изменяя таким образом и порядок работы всей системы.
Руководитель направления «Поиск Mail.ru» в Mail.Ru Group Андрей Калинин отмечает, что нейронные сети способны решать такие же задачи, как и другие алгоритмы машинного обучения, разница заключается лишь в подходе к обучению.
Все задачи, которые могут решать нейронные сети, так или иначе связаны с обучением. Среди основных областей применения нейронных сетей — прогнозирование, принятие решений, распознавание образов, оптимизация, анализ данных.
Директор программ технологического сотрудничества Microsoft в России Влад Шершульский замечает, что сейчас нейросети применяются повсеместно: «Например, многие крупные интернет-сайты используют их, чтобы сделать реакцию на поведение пользователей более естественной и полезной своей аудитории. Нейросети лежат в основе большинства современных систем распознавания и синтеза речи, а также распознавания и обработки изображений. Они применяются в некоторых системах навигации, будь то промышленные роботы или беспилотные автомобили. Алгоритмы на основе нейросетей защищают информационные системы от атак злоумышленников и помогают выявлять незаконный контент в сети».
В ближайшей перспективе (5-10 лет), полагает Шершульский, нейронные сети будут использоваться ещё шире:
Представьте себе сельскохозяйственный комбайн, исполнительные механизмы которого снабжены множеством видеокамер. Он делает пять тысяч снимков в минуту каждого растения в полосе своей траектории и, используя нейросеть, анализирует — не сорняк ли это, не поражено ли оно болезнью или вредителями. И обрабатывает каждое растение индивидуально. Фантастика? Уже не совсем. А через пять лет может стать нормой. — Влад Шершульский, Microsoft