Свист под капотом на холостых — Эксплуатация и обслуживание
-
25.11.2008, 03:13 #1
Свист под капотом на холостых
Уже давно заметил такой трабл — когда машина работает на холостых об., из подкапотного пространства раздаёться такой себе крутящийся ( что-то быстро крутиться и создаёт звук) свистоскрип , похоже что-то обо что-то трёться ,думал что ремень ГРМ или вентилятор, открыл капот , начал прислушиваться, выключил климат- всё равно раздаёться, потом на всё плюнул сел в машину, выжимаю педаль сцепления- звук проподает, я выхожу из машины опять открываю капот, открываю вод. дверь и чуток , буквально нажимаю рукой на педаль- звук уходит,не обязательно выжимать до конца педаль , достаточно нажать на неё на 1 см. вглубь. Теперь я в недоумении,что это — может свободный ход педали нарушен или вообще со сцеплением проблемы!!!!!!!!!!Пробег 7500
-
-
25. 11.2008, 03:17 #2
Свист под капотом на холостых
Сообщение от tdv
Ответить с цитированием,думал что ремень ГРМ
У нас не «ремень», а цепь стоит…
Скорее свист идет от ремня кондея/генератора.
Попробуй на холостых оборотах(все потребители эл-ва выключены) послушать работу(есть ли свист), после чего включить кондей/климат и еще раз послушать, если «засвистит», то дело в ремне.
Может еще ВТЭК так своеобразно работать. -
25.11.2008, 07:43 #3
Свист под капотом на холостых
Тоже иногда свистит на холостых … закономерности не обнаружил . .. но и напрягатся не стал…
Ответить с цитированием -
25.11.2008, 08:48 #4
Свист под капотом на холостых
Если зависит от нажатия на педаль сцепления, то ИМХО выжимной подшипник так работает.
Ответить с цитированием -
25.11.2008, 09:05 #5
Свист под капотом на холостых
Эт не выжимной, точно такая же трабла выскакивает но рееедко, тока когда ооочень повышена влажнасть в воздухе, и действительно леееегонькое прикосновение (не нажатие, а именно прикосновение на пару милиметров) к педали сцепления и свист проходит. В сухую погоду свист не проявляется ни когда, забил на это, ежу все ок.
Ответить с цитированием -
25.11.2008, 14:33 #6
Свист под капотом на холостых
Сообщение от Moonspell
Ответить с цитированиемЭт не выжимной, точно такая же трабла выскакивает но рееедко, тока когда ооочень повышена влажнасть в воздухе, и действительно леееегонькое прикосновение (не нажатие, а именно прикосновение на пару милиметров) к педали сцепления и свист проходит. В сухую погоду свист не проявляется ни когда, забил на это, ежу все ок.
Есле не выжимной, тогда точно что-то в сцеплении,т.к. для устранения этого звука требуеться действия которое связано с педалькой сцепы -
25. 11.2008, 15:07 #7
Свист под капотом на холостых
корзина может,или выживной посвистывает?
-
25.11.2008, 18:10 #8
Свист под капотом на холостых
на тазах было если при нажатии на педаль сцепления шум затихает, то это подшипник первичного вала скорее всего, выжимной наоборот шумел при нажатой педали. Тут я думаю по аналогии, хотя не уверен.
Ответить с цитированием -
01.12.2008, 02:36 #9
Свист под капотом на холостых
Вот записал на диктофон , слышно очень чётко , (shareua. com/files/show/1995801/Zapis___2_.amr.html) Может у кого то будут соображения.Просто хочу ехать на сервис уже подготовленным, знать что это может быть!Чтобы на сервисе не вешали на уши , что это не гарантия, пробег то 7 800 всего !!!!!!!!!!!!!!!
Ответить с цитированием
Там где будет звук пропадать это я педальку сц. чуть надавил! -
01.12.2008, 09:11 #10
Свист под капотом на холостых
Я думаю следует заняться регулировкой свободного хода педали сцепления. Если при легком нажатии на педаль свист исчезает, то это говорит об отсутствии зазора между выжимным подшипником и пяткой корзины сцепления.ИМХО
Ответить с цитированием
« Трабл с магнитолой — перескакивает станцию, причем не всегда. .. | Неустойчива на 130 кмч »
Похожие темы
-
Ответов: 45
Последнее сообщение: 21.12.2012, 01:35
-
Ответов: 3
Последнее сообщение: 06.05.2010, 18:22
-
Ответов: 48
Последнее сообщение: 02.09.2009, 21:25
-
Ответов: 15
Последнее сообщение: 03.12.2008, 19:38
-
Ответов: 5
Последнее сообщение: 19.06.2008, 14:28
Ваши права
Свист при разгоне. Причины появления свистящего звука при нажатии на газ
Жалуетесь на появлении свиста при разгоне двигателя до высоких оборотов? Так знайте, что с такой проблемой сталкиваются многие автомобилисты. В этой статье рассмотрим возможные причины возникновения такого звука во время наращивания скорости автомобиля.
Оглавление:
- Возможные причины свиста при разгоне автомобиля
- Проблемы с трансмиссией
- Проблемы с дифференциалом
- Проблемы с усилителем руля
- Проблемы с двигателем
- Нормальный резонанс
Свист, сопровождающий ускорение автомобиля, безусловно, нарушает спокойствие и не позволяет получить истинное удовольствие от вождения. В таком случае нужно обязательно разгадать эту загадку. Свистящий звук во время ускорения – это, как оказалось, одна из самых распространенных проблем, рьяно обсуждаемых на автомобильных форумах. Сложность заключается в том, что не всегда можно с ходу определить, откуда доносится свист, поскольку в автомобиле одновременно работает огромное множество деталей.
Одни говорят о свисте из двигателя при запуске, другие утверждают, что звук доносится из левой или правой стороны передней части автомобиля, а третьи попросту разводят руками. Чтобы определить точный источник звука, нужно иметь исключительный слух. А то, что свист появляется только при достижении высоких оборотов двигателя или во время ускорения, делает это явление еще более загадочным.
Возможные причины свиста при разгоне автомобиля
Трение и вибрация – это те факторы, которые вступают в игру при высокой скорости движения автомобиля. При наличии большого количества движущихся компонентов определение причины появления свиста при разгоне становится достаточно сложной задачей даже для самых опытных водителей. Единственный выход – пройтись по всем возможным вариантам один за другим. Чтобы определить источник свиста при ускорении, составьте список возможных причин и по мере проверки автомобиля сократите этот список до одного-единственного пункта. Ниже приведен перечень возможных причин свистящего звука, составленный на основе информации, которую удалось получить на разных автомобильных форумах и от опытных высококвалифицированных автомехаников.
Читайте также: 5 основных причин вибрации автомобиля. Почему вибрирует ваш автомобиль?
Посмотрим на основные источники свистящего звука, сопровождающего ускорение автомобиля. Прежде всего, следует выяснить, какие механизмы участвуют в процессе повышения скорости движения. Вот несколько советов.
Проблемы с трансмиссией
Одной из первых причин появления свистящего звука является трение компонентов трансмиссии. Это может произойти вследствие износа шестерней или снижения уровня трансмиссионной жидкости. Чтобы понять, связана ли проблема с трансмиссией, выполните следующее: разгоните автомобиль до скорости, при которой свист проявляется громче всего, включите нейтральную передачу и заглушите двигатель. Если свист не исчез, значит, проблема заключается именно в трансмиссии, а если исчез – ищите причину в двигателе или системе сцепления. Тщательная проверка трансмиссии поможет разгадать эту загадку.
Читайте также: Буксует АКПП. Признаки и причины пробуксовки автоматической трансмиссии
Свист при разгоне может быть из-за проблем с трансмиссиейПроблемы с дифференциалом
Изношенные шестерни заднего или переднего дифференциала вполне могут издавать свистящий звук. Свист при нажатии на педаль газа появляется вследствие трения в связке ведущей и ведомой шестерней. В таком случае нужно в ближайшее время проверить дифференциал и устранить неисправность.
Проблемы с усилителем руля
Если свист становится максимально громким при повороте руля, возможно, проблема заключается в узле усилителя. Чаще всего оказывается, что свист появляется в результате ослабления ремня генератора, который вращает шкив насоса усилителя руля. Подтяжка ремня и регулировка узла в целом могут решить эту проблему.
Свист при нажатии на газ также может издавать ослабленный ремень генератораПроблемы с двигателем
Существует ряд проблем с двигателем, которые могут спровоцировать возникновение свиста или пронзительного звука при ускорении. Полноценная проверка двигателя позволяет выявить ослабленные детали или нарушение регулировок. Проблема также может возникнуть из-за трения деталей двигателя по причине недостатка смазки.
Читайте также: Почему троит двигатель на холостых оборотах? Возможные причины и план действий
Нормальный резонанс
Оказывается, что свистящий звук также может быть создан исключительно в результате вибрации и резонанса некоторых компонентов (на высокой скорости). Например, одной из причин свистящего звука в BMW был назван шум, издаваемый шестернями планетарной передачи. Более того, такой шум характерен для большинства автомобилей.
Разнообразие выпускаемых моделей автомобилей просто поражает воображение, и каждая из них имеет свои характерные особенности. Если не удалось обнаружить ни одной из описанных неисправностей, почитайте автомобильные форумы, посвященные именно вашей модели, или обратитесь за помощью к квалифицированному автомеханику, который хорошо знает свое дело. Есть даже механики, способные диагностировать проблему, просто прислушавшись к звуку работы автомобиля!
Мост через канал Худ | WSDOT
Найдите обновления состояния моста Худ-Канал, информацию об открытии моста, типах погоды, которые обычно закрывают мост, и другие часто задаваемые вопросы.
Мост через канал Худ в режиме реального времени
Узнайте, открыт ли мост через канал Худ для движения транспорта, и получите другие оповещения в режиме реального времени на странице статуса моста через канал Худ.
Мост через канал Худ общие вопросы
Почему WSDOT открывает мост для одной лодки, что приводит к дублированию трафика?
WSDOT следует федеральному закону. Согласно морским правилам, лодки имеют преимущество перед транспортными средствами, когда мосты преграждают путь морскому движению. Мы понимаем, что это кажется нелогичным, поскольку транспортных средств больше, чем морских судов. Однако давно установленный закон требует, чтобы мост через канал Худ и другие подобные ему (Раздел 33, Часть 177 Эксплуатация разводного моста) предоставляли морскому движению преимущественное право движения по сравнению с автомобильным движением.
WSDOT имеет соглашение с Береговой охраной США о предотвращении некоторых сезонных открытий разводных пролетов. Ежегодно с 22 мая по 30 сентября частным судам (прогулочным судам) запрещается требовать открытия разводного става с 15:00 до 18:15. ежедневно, то есть во время пиковых дневных поездок на работу. Правило не распространяется на коммерческие суда, суда ВМС США или другие суда Министерства обороны.
Сколько времени нужно, чтобы открыть и закрыть мост Худ Канал?
Время, необходимое для открытия и закрытия моста через канал Худ для морского открытия, может варьироваться от десяти до 45 минут.
Чтобы открыть мост для прохода морского транспорта (в соответствии с требованиями береговой охраны), WSDOT имеет три пролета с каждой стороны, которые поднимаются гидравлически. После того, как они подняты, плавающие пролеты могут быть убраны обратно под эти пролеты, чтобы обеспечить открытие. В зависимости от того, какой тип судна проходит, WSDOT может потребоваться убрать только одну сторону пролета. Если это парусная лодка, которая мчится вперед, мы откроем только одну сторону, и движение транспорта займет меньше времени.
Подводные лодки и вспомогательные суда, которые их сопровождают, занимают больше времени и требуют отвода обеих сторон. Подводные лодки не очень маневренны на поверхности воды, и они запросят открытие раньше. Впереди подводной лодки будут меньшие корабли сопровождения, которые пройдут сначала, а затем подводную лодку. Как только все суда пройдут, оператор начнет закрытие двух 300-футовых плавучих пролетов, движущихся навстречу друг другу. Они огромны, и им требуется время, чтобы начать движение, а затем замедлиться, пока они не соберутся вместе и не заблокируются. Член экипажа проверяет, что замок заблокирован, а затем три пролета на каждом конце проема, которые были подняты для проема, будут опущены обратно. После того, как они будут установлены, ворота могут быть открыты для движения транспортных средств.
Если в системе есть сбои, процесс займет больше времени. Бывали случаи, когда машины не заводились после того, как остановились для открытия моста. Это также может привести к задержке времени очистки трафика.
Почему камера WSDOT Hood Canal Bridge отключается во время открытия морского судна?
WSDOT больше не показывает корабли или подводные лодки, проходящие через мост Худ-канал, в соответствии с правилами национальной безопасности.
Я планирую взять свою лодку.
Что мне нужно знать о мосте через канал Худ?Федеральные правила требуют, чтобы моряки-любители по возможности перемещались под ферменными пролетами моста. Моряки не должны запрашивать проход разводного пролета, если их вертикальный просвет достаточен для использования возвышенных участков моста.
Высота фермы (наименьшие вертикальные зазоры при среднем половодье.) Зазоры варьируются в зависимости от приливов и волн.
- Округ Джефферсон (запад) — 31 фут
- Округ Китсап (восток) — 50 футов
Все операторы судов должны знать высоту своей мачты. Просьба о ненужном открытии разводного пролета является правонарушением, о котором сообщается в Береговую охрану США.
Моряки, которые не могут пройти под восточной фермой (сторона округа Китсап), могут запросить открытие разводного пролета моста через канал Худ, позвонив по телефону (360) 779-3233. Необходимо уведомить об этом не менее чем за час до требуемого времени открытия.
При каких погодных условиях мост Худ-Канал будет закрыт?
Как правило, мост Худ-Канал закрывается для движения транспортных средств и может открывать разводные пролеты во время штормов со скоростью ветра свыше 40 миль в час, которые сохраняются в течение 15 минут или дольше, чтобы уменьшить давление на конструкцию моста. Мост также может быть закрыт для водителей, если этого требуют условия. Однако направление ветра может привести к тому, что мост будет закрыт для движения при более низкой устойчивой скорости ветра, если это негативно влияет на движение транспортных средств, пересекающих мост. Кроме того, мощные приливы и отливы в канале Худ также могут сыграть роль в принятии решения о закрытии участка разводки для движения транспорта.
Дорога через канал Худ платная?
Мост через канал Худ не является платной дорогой. Подробнее о платных дорогах WSDOT и пунктах взимания платы можно узнать в разделе о взимании платы и в Good to Go! страницы.
Как мне получить уведомление, открыт или закрыт мост Худ Канал?
Обновления о мосте через канал Худ рассылаются через систему GovDelivery WSDOT. Пользователи могут подписаться на бесплатные оповещения моста.
Предварительное уведомление о запланированных открытиях разводных пролетов можно найти на странице состояния мост Худ-канал. Перечисленные отверстия предназначены только для коммерческих и прогулочных судов.
Под капотом: как на самом деле работают нейронные сети?
Понимание того, как математика лежит в основе нейронных сетей с использованием набора данных MNIST — мои основные выводы из fast.ai 003
Нейронные сети составляют основу глубокое обучение, подмножество машинного обучения, которое я представил в своей предыдущей статье. Люди, подвергшиеся воздействию искусственного интеллекта, как правило, имеют хорошее представление о том, как работает нейронная сеть — данные передаются от одного слоя нейронной сети к другому, и эти данные распространяются от самого верхнего слоя к нижнему слою до тех пор, пока, каким-то образом алгоритм выводит прогноз относительно того, является ли изображение изображением чихуахуа или кекса.
Не можете найти различия? Программному обеспечению для распознавания изображений, вероятно, труднее, чем людям. Изображение из FreeCodeCamp (лицензия BSD-3).Похоже на волшебство, не так ли? Удивительно, но нейронные сети для модели компьютерного зрения можно понять с помощью математики средней школы . Просто требуется правильное объяснение в простейшей форме, чтобы каждый понял, как нейронные сети работают под капотом. В этой статье я буду использовать базу данных рукописных цифр MNIST, чтобы объяснить процесс создание модели с использованием нейронных сетей с нуля .
Прежде чем мы углубимся, важно подчеркнуть , почему нам нужно понять, как нейронные сети работают под капотом. Любой начинающий разработчик машинного обучения может просто использовать 10 строк кода 👇, чтобы различать кошек и собак — так зачем беспокоиться о том, что происходит внутри?
Вот мое мнение: без полного понимания того, что происходит под капотом в машинном обучении, мы 1) никогда не сможем полностью настройте код, необходимый , и адаптируйте его для различных проблем в реальном мире, и 2) отладка станет кошмаром.
Проще говоря, новичок, использующий сложный инструмент, не понимая, как он работает, остается новичком, пока полностью не поймет, как работает большинство вещей.
В этой статье я расскажу о следующем:
- Общий обзор того, как работают прогнозы глубокого обучения
- Выполнение предварительных условий для импорта и обработки данных
- Углубляясь в 7 шагов по созданию одноуровневой модели машинного обучения
- Создание нескольких слоев с помощью функции активации
Чтобы полностью понять это, мы должны вернуться к тому, где впервые популяризировался термин «Машинное обучение». .
По словам Артура Сэмюэля, одного из пионеров искусственного интеллекта и создателя одной из первых в мире успешных программ самообучения, он определил машинное обучение как таковое:
Предположим, мы организуем некоторые автоматические средства проверки эффективности любого текущего назначения весов с точки зрения фактической производительности и предоставим механизм для изменения назначения весов, чтобы максимизировать производительность. Нам не нужно вдаваться в подробности такой процедуры, чтобы увидеть, что ее можно сделать полностью автоматической, и увидеть, что запрограммированная таким образом машина будет «учиться» на своем опыте.
Из этой цитаты мы можем определить 7 основных шагов в машинном обучении. Взятые в контексте идентификации между любыми двумя рукописными цифрами «2» или «9”:
- Инициализируйте веса
- Используйте эти веса для каждого изображения, чтобы предсказать, будет ли оно 2 или 9.
- Из всех этих предсказаний выясните, насколько хороша модель.
- Вычисление градиента — который измеряет для каждого веса, как изменение веса изменит потерю
- Изменить все веса на основе расчета
- Вернуться к шагу 2 и повторить
- Итерировать, пока не будет принято решение об остановке.
Мы можем визуализировать последовательность этих 7 шагов на следующей диаграмме:
Изображение автора.Да, смотреть на это может быть немного ошеломляюще, так как есть множество новых технических терминов, которые могут быть незнакомы. Что такое веса? Что такое эпохи? Просто оставайтесь со мной, я объясню шаг за шагом ниже. Возможно, эти шаги не имеют большого смысла, но просто держитесь!
Сначала выполним все предварительные условия — импортируем необходимые пакеты. Это самый основной шаг в начале создания любой модели компьютерного зрения. Мы будем использовать PyTorch, а также fast.ai . Поскольку fast.ai — это библиотека, созданная поверх PyTorch, в этой статье объясняется, как написаны некоторые встроенных функций fast.ai (например, обучающий класс в строке 9 приведенного выше описания).
из импорта fastai.vision.all *
из импорта из fastbook *
Во-вторых, давайте возьмем изображения из набора данных MNIST. Для этого конкретного примера мы должны получить данные из учебных каталогов рукописных чисел 2 и 9.. Изображение автора.
Чтобы узнать, что находится в папке, мы можем использовать функцию .ls() в fast.ai. Затем мы открываем изображения, чтобы проверить, как это выглядит на самом деле-
Изображение автора.Как видите, это просто изображение написанной от руки цифры «2»!
Однако компьютеры не способны распознавать изображения, которые им передаются просто так — данные в компьютере представлены в виде набора чисел. Мы можем проиллюстрировать это на примере здесь:
Это иллюстрирует, как изображение «2» представлено в тензоре (списке списков). Изображение автора.Итак, что означают все эти числа? Давайте посмотрим на это, используя удобную функцию, которую предоставляет нам pandas:
Поскольку вы можете смутно разобрать контур написанного от руки числа, числа, показанные в тензоре выше, являются активациями различных пикселей, 0 для белого и 254 для черного. Изображение автора.Как показано выше, основной способ, которым компьютеры интерпретируют изображения, — это форма пикселей, которые являются наименьшими строительными блоками любого компьютерного дисплея . Эти пиксели записываются в виде чисел.
Теперь, когда мы лучше понимаем, как компьютер на самом деле интерпретирует изображения, давайте углубимся в то, как мы можем манипулировать данными, чтобы дать наш прогноз.
Структуры данных и наборы данных
Даже до расчета прогнозов мы должны убедиться, что данные структурированы одинаково, чтобы программа могла обрабатывать все различные изображения. Давайте удостоверимся, что у нас есть два разных тензора, каждый для всех «девяток» и «двойок» в наборе данных.
Объединение различных тензоров вместе с помощью torch.stack. Выше изображения автора.Прежде чем двигаться дальше, мы должны обсудить, что такое тензор . Я впервые услышал слово тензор в названии TensorFlow , которое представляет собой (полностью!) отдельную библиотеку, из которой мы используем. Тензор PyTorch в этом случае представляет собой многомерную таблицу данных со всеми элементами данных одного типа . Разница между списками или массивами и тензорами PyTorch заключается в том, что эти тензоры могут завершать вычисления намного (много тысяч раз) быстрее, чем при использовании обычных массивов Python.
Разбор всех данных, которые мы собрали в качестве обучающих данных для модели, не поможет — просто потому, что нам нужно что-то для проверки нашей модели. Мы не хотим, чтобы наша модель перетренировалась или переобучила на наших тренировочных данных, действительно хорошо показала себя на тренировке, только чтобы сломаться, когда она сталкивается с чем-то, чего она никогда раньше не видела, за пределами тренировочных данных. Поэтому мы должны разделить данные на обучающий набор данных и набор данных проверки 9.0079 .
Для этого делаем:
Создаем проверочные тензорные стеки для числа «2» и «9». Изображение автора.Кроме того, мы должны создать переменные — как независимых переменных, так и зависимых переменных , чтобы такие данные можно было отслеживать.
train_x = torch.cat([stacked_twos, stacked_nines]).view(-1, 28*28)
Эта переменная train_x будет содержать все наши изображения как независимых переменных (т.е. то, что мы хотим измерить, думаю: наука 5-го класса!).
Затем мы создаем зависимую переменную, присваивая значение «1» для представления рукописных двоек и значение «0» для представления рукописных девяток в данных.
train_y = tensor([1]*len(twos) + [0]*len(девятки)).unsqueeze(1)
Затем мы создаем набор данных на основе независимых и зависимых переменных, объединяя их в кортеж, форма неизменяемых списков.
Затем мы повторяем процесс для набора данных проверки:
Изображение автора.Затем мы загружаем оба набора данных в DataLoader с одинаковым размером пакета.
Теперь, когда мы завершили настройку наших данных, мы можем приступить к обработке этих данных с помощью нашей модели.
Мы успешно завершили настройку наших данных. Возвращаясь к семи шагам машинного обучения, теперь мы можем медленно пройти через них.
Шаг 1: Инициализация весов
Что такое веса ? Веса — это в основном переменные, а назначение весов — это конкретный выбор значений для этих переменных. Можно подумать об акценте, который придается каждой точке данных, чтобы программа работала. Другими словами, изменение этих наборов весов изменит поведение модели для другой задачи.
Здесь мы инициализируем веса случайным образом для каждого пикселя —
Вместе веса и смещения (присутствующие из-за того, что веса иногда могут быть нулевыми, и мы хотим предотвратить это) составляют параметры.
Меня беспокоило кое-что — есть ли лучший способ инициализировать веса по сравнению со случайным числом?
Получается, что случайная инициализация в нейронных сетях — это особенность, а не ошибка. В этом случае 9Алгоритмы стохастической оптимизации 0077 (которые будут объяснены ниже) используют случайность при выборе начальной точки в поиске перед продвижением вниз по поиску.
Шаг 2: Прогнозы — для каждого изображения предскажите, будет ли это 2 или 9.
Затем мы можем продолжить и вычислить наш первый прогноз:
После этого мы вычислим прогнозы для остальных данных. с использованием мини-пакетов:
В этом случае мини-пакет содержит 4 значения, поэтому имеется 4 выходных значения. Выше изображения автора.👆Этот шаг имеет решающее значение , поскольку он позволяет вычислять прогнозы , и является одним из двух фундаментальных уравнений любой нейронной сети.
Шаг 3: Использование функции потерь, чтобы понять, насколько хороша наша модель
Чтобы узнать, насколько хороша модель, мы должны использовать функцию потерь . Это пункт «проверка эффективности любого текущего назначения веса с точки зрения фактической производительности» и является предпосылкой того, как модель будет обновлять свои веса, чтобы дать лучший прогноз.
Подумайте об основной функции потерь. Мы не можем использовать точность в качестве функции потерь, потому что точность будет меняться только в том случае, если прогнозы о том, является ли изображение «2» или «9», полностью изменяются — в этом смысле точность не будет улавливать небольшие обновления. от уверенности или определенности, с которой модель предсказывает результаты.
Что мы можем сделать, так это создать функцию, которая записывает разницу между прогнозами, которые дает модель (например, он дает 0,2 для довольно точного прогноза, что интерпретируемое изображение ближе к 2, а не к 9) и фактическая метка, связанная с ним (в этом случае это будет 0, поэтому необработанная разница, потеря между прогнозом и моделью будет 0,2).
НО подождите! Как видно из вывода, не все прогнозы w ill лежат в диапазоне от 0 до 1 , некоторые из них могут быть очень далекими. Нам нужна другая функция 9(-x)), который содержит все числа, положительные и отрицательные, от 0 до 1.
Визуализация сигмовидной функции. изображение из википедии.Сигмоидальная функция здесь очень удобна, потому что мы можем использовать подход стохастического градиентного спуска (следующий раздел) для вычисления градиента кривой при любых входных данных.
Возможно, у некоторых людей возникает неправильное представление об обучении машинному обучению с помощью вводных видеороликов — у меня оно определенно было. Если вы гуглите в Интернете, функция Sigmoid обычно не одобряется, но важно знать контекст, в котором используется сигмовидная функция, прежде чем критиковать ее. В этом случае он используется просто как способ сжатия чисел от 0 до 1 для функции потерь. Мы , а не , используя Sigmoid в качестве функции активации, что будет обсуждаться позже.
Таким образом, мы можем рассчитать потери для нашей мини-партии :
Шаг 4: Расчет градиента — принцип стохастического градиентного спуска
Поскольку мы можем начать с любых заданных весов (случайных весов), модель машинного обучения должна достичь минимальная возможная потеря в рамках обучения модели.
Это может показаться сложным, но на самом деле для хорошего понимания этой концепции требуется только школьный курс математики. Представьте, что наша функция потерь представляет собой произвольную квадратичную функцию y = x², и мы хотим минимизировать эту функцию потерь. Мы сразу же подумали бы о точке, где производная или градиент этой функции равна нулю, которая оказалась в самой низкой точке (или «долине»). Проведение линии, касательной к кривой в этой точке, даст нам прямую линию. Мы бы хотели, чтобы программа постоянно обновлялась, чтобы достичь , что минимальная точка.
Достижение минимума любой заданной функции потерь имеет решающее значение. Суть градиентного спуска. Выше изображения автора.Это один из основных способов минимизации потерь в машинном обучении, и он дает общее представление о том, как быстро ускорить обучение моделей.
Чтобы рассчитать градиенты (нет, нам не нужно делать это вручную, так что вам не нужно копаться в школьных математических конспектах), мы пишем следующую функцию:
Шаг 5: Изменение весов на основе от рассчитанного градиента (шаговое изменение веса)
Чтобы изменить веса функции calc_grad, нам нужно сделать шаг функции таким образом, чтобы наши значения приблизились к минимуму функции потерь. Мы делаем это с помощью очень важного фрагмента кода, как показано на рисунке:
Если вы дошли до этого места, то все! Это записанные необработанные шаги, которые необходимы для однократного линейного обучения модели . Шаги с 1 по 5 в основном являются основными шагами, которые необходимы для однократного просмотра данных, а период обработки данных составляет после называется «эпохой».
Разница между стохастическим градиентным спуском (SGD) и градиентным спуском (GD) заключается в строке «for xb,yb in dl» — в SGD она есть, а в GD — нет. Градиентный спуск вычисляет градиент всего набора данных , тогда как SGD вычисляет градиент для мини-пакетов различных размеров.
Теперь, для простоты, мы объединим все остальные функции (валидация, точность), которые мы записали, в функции более высокого уровня и объединим различные пакеты:
Шаг 6: Повторение с шага 2
Затем мы передаем все наши функции в цикл for, повторяя процесс в течение определенного количества эпох, пока наша точность не увеличится до оптимального уровня.
Наша модель теперь может достичь почти 100% точности к 25-й итерации, а это означает, что она почти наверняка может предсказать, является ли написанная от руки цифра «2» или «9»!Ура! Мы только что построили линейную (однослойную) сеть , которая способна обучаться за очень короткое время до сумасшедшего уровня точности.
Чтобы оптимизировать этот процесс и уменьшить количество низкоуровневых функций (и, конечно, чтобы наш код выглядел немного лучше) — мы используем предварительно встроенные функции (например, класс с именем Learner ), которые имеют та же самая функциональность, что и в предыдущих строках кода.
Как перейти от линейной многоуровневой программы к одному из нескольких слоев? Ключ кроется в простой строке кода —
. Это известно как функция активации, которая объединяет два линейных слоя, превращая их в двухслойную сеть.
Визуализация искусственных нейронных сетей и биологических нейронов. Изображения cs231n из Стэнфорда.В частности, эта функция res.max также известна как выпрямленная линейная единица (ReLU) , что является причудливым способом сказать «преобразовать все отрицательные числа в ноль и оставить положительные числа такими, какие они есть». Это одна из таких функций активации, в то время как существует множество других, таких как Leaky ReLU, Sigmoid (использование в качестве функции активации не одобряется). 0079 ), tanh и т. д.
ReLU, визуализированный. Изображение из Википедии.Теперь, когда мы понимаем, как объединить два разных линейных слоя вместе, мы можем создать из них простую нейронную сеть:
И затем, наконец, мы можем обучить нашу модель, используя нашу двухслойную искусственную нейронную сеть:
Что еще больше интересно то, что мы даже можем видеть, какие изображения модель пытается обработать на различных уровнях этой простой сетевой архитектуры!
В данном случае это идентификация кривых рукописного ‘9’ цифры 🙂Понимание того, что происходит внутри искусственной нейронной сети, поначалу может показаться пугающим, но это ключ к настройке и пониманию того, какие части модели пошли не так, если нам нужно построить модель с нуля. Чтобы глубоко погрузиться в ИИ, требуется просто решимость, работающий компьютер и некоторое элементарное понимание математических концепций средней школы.
Если вы хотите поиграть с кодом и посмотреть, как все это работает, перейдите по этой ссылке и попробуйте сами! Кроме того, вы можете проверить мой репозиторий github здесь: https://github.