Содержание[Скрывать][Показывать]
- 1. Что такое глубокое обучение?
- 2. Что отличает глубокое обучение от машинного обучения?
- 3. Каково ваше текущее понимание нейронных сетей?
- 4. Что такое персептрон?
- 5. Что такое глубокая нейронная сеть?
- 6. Что такое многослойный персептрон (MLP)?
- 7. Какую цель выполняют функции активации в нейронной сети?
- 8. Что такое градиентный спуск?
- 9. Что такое функция затрат?
- 10. Как глубокие сети могут превзойти мелкие?
- 11. Опишите прямое распространение.
- 12. Что такое обратное распространение?
- 13. Как вы понимаете отсечение градиента в контексте глубокого обучения?
- 14. Что такое функции Softmax и ReLU?
- 15. Можно ли обучить модель нейронной сети, установив все веса равными 0?
- 16. Чем эпоха отличается от партии и итерации?
- 17. Что такое пакетная нормализация и отсев?
- 18. Что отличает стохастический градиентный спуск от пакетного градиентного спуска?
- 19. Почему так важно включать нелинейности в нейронные сети?
- 20. Что такое тензор в глубоком обучении?
- 21. Как бы вы выбрали функцию активации для модели глубокого обучения?
- 22. Что вы подразумеваете под CNN?
- 23. Сколько слоев CNN?
- 24. Каковы последствия переобучения и недообучения и как их избежать?
- 25. Что такое RNN в глубоком обучении?
- 26. Опишите оптимизатор Адама
- 27. Глубокие автоэнкодеры: что это такое?
- 28. Что означает тензор в Tensorflow?
- 29. Объяснение вычислительного графа
- 30. Генеративно-состязательные сети (GAN): что это такое?
- 31. Как вы будете выбирать количество нейронов и скрытых слоев для включения в нейронную сеть при разработке архитектуры?
- 32. Какие типы нейронных сетей используются в глубоком обучении с подкреплением?
- Заключение
Глубокое обучение — не новая идея. Искусственные нейронные сети служат единственной основой подмножества машинного обучения, известного как глубокое обучение.
Глубокое обучение — это имитация человеческого мозга, как и нейронные сети, поскольку они были созданы для имитации человеческого мозга.
Это было какое-то время. В наши дни все говорят об этом, поскольку у нас нет такой вычислительной мощности или данных, как сейчас.
За последние 20 лет глубокое обучение и машинное обучение появились в результате резкого роста вычислительных мощностей.
Чтобы помочь вам подготовиться к любым вопросам, с которыми вы можете столкнуться при поиске работы своей мечты, этот пост проведет вас через ряд вопросов глубокого обучения на собеседовании, от простых до сложных.
1. Что такое глубокое обучение?
Если вы посещаете глубокое обучение интервью, вы, несомненно, понимаете, что такое глубокое обучение. Однако интервьюер ожидает, что вы предоставите подробный ответ вместе с иллюстрацией в ответ на этот вопрос.
Для того, чтобы тренироваться нейронные сети для глубокого обучения необходимо использовать значительные объемы организованных или неструктурированных данных. Чтобы найти скрытые закономерности и характеристики, он выполняет сложные процедуры (например, отличает изображение кошки от изображения собаки).
2. Что отличает глубокое обучение от машинного обучения?
Как часть искусственного интеллекта, известная как машинное обучение, мы обучаем компьютеры, используя данные, статистические и алгоритмические методы, чтобы они со временем становились лучше.
Как аспект обучение с помощью машины, глубокое обучение имитирует архитектуру нейронной сети, наблюдаемую в человеческом мозгу.
3. Каково ваше текущее понимание нейронных сетей?
Искусственные системы, известные как нейронные сети, очень похожи на органические нейронные сети человеческого тела.
Используя технику, похожую на то, как человеческий мозг функций, нейронная сеть представляет собой набор алгоритмов, целью которых является выявление лежащих в основе корреляций в фрагменте данных.
Эти системы приобретают знания для конкретной задачи, подвергая себя ряду наборов данных и примеров, а не следуя каким-либо правилам для конкретной задачи.
Идея состоит в том, что вместо запрограммированного понимания этих наборов данных система изучает отличительные характеристики из данных, которые она получает.
Три сетевых уровня, которые чаще всего используются в нейронных сетях, следующие:
- Входной слой
- Скрытый слой
- Выходной слой
4. Что такое персептрон?
Биологический нейрон в человеческом мозгу можно сравнить с персептроном. Персептрон получает несколько входных данных, которые затем выполняют многочисленные преобразования и функции и производят выходные данные.
Линейная модель, называемая персептроном, используется в бинарной классификации. Он имитирует нейрон с множеством входов, каждый из которых имеет разный вес.
Нейрон вычисляет функцию, используя эти взвешенные входные данные, и выводит результаты.
5. Что такое глубокая нейронная сеть?
Глубокая нейронная сеть — это искусственная нейронная сеть (ИНС) с несколькими слоями между входным и выходным слоями (ГНС).
Глубокие нейронные сети — это нейронные сети с глубокой архитектурой. Слово «глубокий» относится к функциям со многими уровнями и единицами в одном слое. Более точные модели можно создавать, добавляя больше слоев большего размера для захвата большего количества моделей.
6. Что такое многослойный персептрон (MLP)?
Входные, скрытые и выходные слои присутствуют в MLP, как и в нейронных сетях. Он построен аналогично однослойному персептрону с одним или несколькими скрытыми слоями.
Двоичный вывод однослойного персептрона может классифицировать только линейные разделимые классы (0,1), тогда как MLP может классифицировать нелинейные классы.
7. Какую цель выполняют функции активации в нейронной сети?
Функция активации определяет, должен ли нейрон активироваться на самом фундаментальном уровне. Любая функция активации может принимать в качестве входных данных взвешенную сумму входных данных плюс смещение. Функции активации включают ступенчатую функцию, сигмоид, ReLU, Tanh и Softmax.
8. Что такое градиентный спуск?
Лучшим подходом к минимизации функции стоимости или ошибки является градиентный спуск. Целью является нахождение локально-глобальных минимумов функции. Это указывает путь, которому должна следовать модель, чтобы свести к минимуму ошибку.
9. Что такое функция затрат?
Функция стоимости — это метрика для оценки того, насколько хорошо работает ваша модель; это иногда называют «потерей» или «ошибкой». Во время обратного распространения он используется для вычисления ошибки выходного слоя.
Мы используем эту неточность для дальнейшего обучения нейронной сети, проталкивая ее обратно через нейронную сеть.
10. Как глубокие сети могут превзойти мелкие?
Скрытые слои добавляются в нейронные сети в дополнение к входным и выходным слоям. Между входным и выходным слоями мелкие нейронные сети используют один скрытый слой, тогда как глубокие нейронные сети используют множество уровней.
Неглубокая сеть требует нескольких параметров, чтобы иметь возможность вписаться в любую функцию. Глубокие сети лучше подходят для функций даже с небольшим количеством параметров, поскольку они включают в себя несколько слоев.
В настоящее время предпочтение отдается глубоким сетям из-за их универсальности в работе с любым типом моделирования данных, будь то распознавание речи или изображений.
11. Опишите прямое распространение.
Входные данные передаются вместе с весами скрытому слою в процессе, известном как перенаправление распространения.
Выходные данные функции активации вычисляются в каждом скрытом слое, прежде чем обработка может перейти к следующему слою.
Процесс начинается на входном слое и переходит к конечному выходному слою, отсюда и название «прямое распространение».
12. Что такое обратное распространение?
Когда веса и смещения корректируются в нейронной сети, обратное распространение используется для уменьшения функции стоимости, сначала наблюдая, как изменяется значение.
Понимание градиента на каждом скрытом слое упрощает вычисление этого изменения.
Процесс, известный как обратное распространение, начинается с выходного слоя и движется назад к входным слоям.
13. Как вы понимаете отсечение градиента в контексте глубокого обучения?
Отсечение градиента — это метод решения проблемы взрыва градиентов, возникающих во время обратного распространения (состояние, при котором со временем накапливаются значительные неправильные градиенты, что приводит к значительным корректировкам весов модели нейронной сети во время обучения).
Взрыв градиентов — это проблема, возникающая, когда во время обучения градиенты становятся слишком большими, что делает модель нестабильной. Если градиент пересек ожидаемый диапазон, значения градиента сдвигаются поэлементно до предопределенного минимального или максимального значения.
Отсечение градиента повышает числовую стабильность нейронной сети во время обучения, но оказывает минимальное влияние на производительность модели.
14. Что такое функции Softmax и ReLU?
Функция активации под названием Softmax выдает результат в диапазоне от 0 до 1. Каждый вывод делится так, чтобы сумма всех выводов равнялась единице. Для выходных слоев часто используется Softmax.
Выпрямленная линейная единица, иногда известная как ReLU, является наиболее часто используемой функцией активации. Если X положителен, он выводит X, иначе выводит нули. ReLU регулярно применяется к скрытым слоям.
15. Можно ли обучить модель нейронной сети, установив все веса равными 0?
Нейронная сеть никогда не научится выполнять заданную работу, поэтому невозможно обучить модель, установив все веса равными 0.
Производные останутся одинаковыми для каждого веса в W [1], если все веса инициализированы нулем, что приведет к тому, что нейроны итеративно будут обучаться одним и тем же функциям.
Не просто инициализация весов равными 0, но и любой формой константы может привести к некачественному результату.
16. Чем эпоха отличается от партии и итерации?
Различные формы обработки наборов данных и методы градиентного спуска включают пакетную обработку, итерацию и эпоху. Эпоха включает сквозную нейронную сеть с полным набором данных, как в прямом, так и в обратном направлении.
Чтобы обеспечить надежные результаты, набор данных часто передается несколько раз, поскольку он слишком велик, чтобы передать его за одну попытку.
Эта практика повторного запуска небольшого количества данных через нейронную сеть называется итерацией. Чтобы гарантировать, что набор данных успешно проходит через нейронные сети, его можно разделить на несколько пакетов или подмножеств, что называется пакетированием.
В зависимости от размера сбора данных все три метода — эпоха, итерация и размер пакета — по сути являются способами использования алгоритм градиентного спуска.
17. Что такое пакетная нормализация и отсев?
Dropout предотвращает переобучение данных, случайным образом удаляя как видимые, так и скрытые сетевые блоки (обычно отбрасывая 20 процентов узлов). Это удваивает количество итераций, необходимых для сходимости сети.
Нормализация входных данных в каждом слое для получения средней активации вывода, равной нулю, и стандартного отклонения, равного единице, нормализация партии представляет собой стратегию повышения производительности и стабильности нейронных сетей.
18. Что отличает стохастический градиентный спуск от пакетного градиентного спуска?
Пакетный градиентный спуск:
- Полный набор данных используется для построения градиента для пакетного градиента.
- Огромный объем данных и медленно обновляемые веса затрудняют конвергенцию.
Стохастический градиентный спуск:
- Стохастический градиент использует одну выборку для вычисления градиента.
- Из-за более частых изменений веса он сходится значительно быстрее, чем пакетный градиент.
19. Почему так важно включать нелинейности в нейронные сети?
Независимо от того, сколько слоев, нейронная сеть будет вести себя как персептрон при отсутствии нелинейностей, делая вывод линейно зависимым от ввода.
Другими словами, нейронная сеть с n слоями и m скрытыми элементами и линейными функциями активации эквивалентна линейной нейронной сети без скрытых слоев и с возможностью обнаружения только линейных границ разделения.
Без нелинейностей нейронная сеть не может решать сложные задачи и точно классифицировать входные данные.
20. Что такое тензор в глубоком обучении?
Многомерный массив, известный как тензор, служит обобщением матриц и векторов. Это важная структура данных для глубокого обучения. Для представления тензоров используются N-мерные массивы фундаментальных типов данных.
Каждый компонент тензора имеет один и тот же тип данных, и этот тип данных всегда известен. Возможно, что известна только часть формы, а именно, сколько существует измерений и насколько велико каждое из них.
В ситуациях, когда входные данные также полностью известны, большинство операций производят полностью известные тензоры; в других случаях вид тензора может быть установлен только во время выполнения графа.
21. Как бы вы выбрали функцию активации для модели глубокого обучения?
- Имеет смысл использовать линейную функцию активации, если ожидаемый результат является реальным.
- Сигмовидную функцию следует использовать, если прогнозируемый результат представляет собой вероятность бинарного класса.
- Функцию Tanh можно использовать, если прогнозируемый результат содержит две классификации.
- Благодаря простоте вычислений функция ReLU применима в широком диапазоне ситуаций.
22. Что вы подразумеваете под CNN?
Глубокие нейронные сети, которые специализируются на оценке визуальных образов, включают сверточные нейронные сети (CNN или ConvNet). Здесь, а не в нейронных сетях, где вход представляет вектор, вход представляет собой многоканальное изображение.
Многослойные перцептроны используются CNN особым образом, который требует очень небольшой предварительной обработки.
23. Сколько слоев CNN?
Сверточный слой: основным слоем является сверточный слой, который имеет множество обучаемых фильтров и рецептивное поле. Этот начальный слой принимает входные данные и извлекает их характеристики.
Слой ReLU: Делая сети нелинейными, этот слой превращает отрицательные пиксели в ноль.
Слой пула: минимизируя параметры обработки и сети, слой пула постепенно минимизирует пространственный размер представления. Максимальный пул — наиболее часто используемый метод пулинга.
24. Каковы последствия переобучения и недообучения и как их избежать?
Это известно как переоснащение, когда модель изучает сложности и шум в обучающих данных до такой степени, что это негативно влияет на использование моделью свежих данных.
Более вероятно, что это произойдет с нелинейными моделями, которые лучше адаптируются при изучении целевой функции. Модель можно обучить обнаруживать легковые и грузовые автомобили, но она может идентифицировать только транспортные средства определенной формы.
Учитывая, что он был обучен работе только с одним типом грузовиков, он может не обнаружить бортовой грузовик. На обучающих данных модель работает хорошо, но не в реальном мире.
Недостаточно приспособленная модель относится к модели, которая недостаточно обучена данным или не способна обобщать новую информацию. Это часто происходит, когда модель обучается с недостаточными или неточными данными.
Точность и производительность ухудшаются из-за недообучения.
Повторная выборка данных для оценки точности модели (к-кратная перекрестная проверка) и использование проверочного набора данных для оценки модели — это два способа избежать переобучения и недообучения.
25. Что такое RNN в глубоком обучении?
Рекуррентные нейронные сети (RNN), распространенная разновидность искусственных нейронных сетей, обозначаются аббревиатурой RNN. Они используются для обработки геномов, почерка, текста и последовательностей данных, среди прочего. Для необходимого обучения RNN используют обратное распространение ошибки.
26. Опишите оптимизатор Адама
Оптимизатор Адама, также известный как адаптивный импульс, представляет собой метод оптимизации, разработанный для обработки шумных ситуаций с разреженными градиентами.
В дополнение к обновлению параметров для более быстрой сходимости, оптимизатор Adam улучшает сходимость за счет импульса, гарантируя, что модель не попадет в ловушку в седловой точке.
27. Глубокие автоэнкодеры: что это такое?
Глубокий автокодер — это собирательное название для двух симметричных сетей глубокого убеждения, которые обычно включают четыре или пять неглубоких слоев для кодирующей половины сети и еще один набор из четырех или пяти слоев для декодирующей половины.
Эти слои составляют основу сетей глубокого убеждения и ограничиваются машинами Больцмана. После каждого RBM глубокий автоэнкодер применяет двоичные изменения к набору данных MNIST.
Их также можно использовать в других наборах данных, где преобразования Гаусса предпочтительнее, чем RBM.
28. Что означает тензор в Tensorflow?
Это еще один вопрос, который регулярно задают на собеседованиях по глубокому обучению. Тензор — это математическое понятие, которое визуализируется как многомерные массивы.
Тензоры — это массивы данных, которые предоставляются в качестве входных данных для нейронной сети и имеют различные размеры и ранжирование.
29. Объяснение вычислительного графа
Основой TensorFlow является построение вычислительного графа. Каждый узел функционирует в сети узлов, где узлы обозначают математические операции, а ребра — тензоры.
Иногда его называют «графом потока данных», поскольку данные передаются в форме графика.
30. Генеративно-состязательные сети (GAN): что это такое?
В глубоком обучении генеративное моделирование выполняется с использованием генеративно-состязательных сетей. Это неконтролируемая работа, в которой результат получается путем выявления закономерностей во входных данных.
Дискриминатор используется для категоризации экземпляров, созданных генератором, тогда как генератор используется для создания новых примеров.
31. Как вы будете выбирать количество нейронов и скрытых слоев для включения в нейронную сеть при разработке архитектуры?
Учитывая бизнес-задачу, точное количество нейронов и скрытых слоев, необходимых для построения архитектуры нейронной сети, не может быть определено какими-либо жесткими правилами.
В нейронной сети размер скрытого слоя должен находиться где-то посередине размера входного и выходного слоев.
Тем не менее, фору в создании дизайна нейронной сети можно получить с помощью нескольких простых методов:
Начать с некоторого базового систематического тестирования, чтобы увидеть, что будет лучше всего работать для любого конкретного набора данных на основе предыдущего опыта работы с нейронными сетями в аналогичных реальных условиях, — это лучший способ решить каждую уникальную задачу прогнозного моделирования в реальном мире.
Конфигурация сети может быть выбрана на основе знаний предметной области и предыдущего опыта работы с нейронными сетями. При оценке настройки нейронной сети хорошим началом будет количество слоев и нейронов, используемых для решения связанных задач.
Сложность нейронной сети следует постепенно увеличивать в зависимости от прогнозируемых результатов и точности, начиная с простой конструкции нейронной сети.
32. Какие типы нейронных сетей используются в глубоком обучении с подкреплением?
- В парадигме машинного обучения, называемой обучением с подкреплением, модель действует, чтобы максимизировать идею кумулятивного вознаграждения, как это делают живые существа.
- Игры и беспилотные автомобили описываются как проблемы, связанные с усиление обучения.
- Экран используется в качестве входных данных, если проблема, которую необходимо представить, является игрой. Чтобы получить результат для следующих фаз, алгоритм принимает пиксели в качестве входных данных и обрабатывает их через множество слоев сверточных нейронных сетей.
- Результаты действий модели, как благоприятные, так и плохие, действуют как подкрепление.
Заключение
Глубокое обучение с годами становится все более популярным, и его можно применять практически во всех областях промышленности.
Компании все чаще ищут компетентных экспертов, которые могут разрабатывать модели, воспроизводящие поведение человека, используя подходы глубокого обучения и машинного обучения.
Кандидаты, которые улучшают свои навыки и сохраняют свои знания об этих передовых технологиях, могут найти широкий спектр вакансий с привлекательным вознаграждением.
Теперь вы можете начать с интервью, когда у вас есть четкое представление о том, как отвечать на некоторые из наиболее часто задаваемых вопросов на собеседованиях по глубокому обучению. Сделайте следующий шаг в зависимости от ваших целей.
Посетите Хашдорк Серия интервью для подготовки к интервью.
Оставьте комментарий