Редактирование: BERT (языковая модель)

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 6: Строка 6:
  
 
=== Представление данных ===
 
=== Представление данных ===
[[Файл:BERT_input-repr.png|450px|thumb|right|Рисунок 1. Представление входных данных модели]]
+
[[Файл:BERT_input-repr.png|450px|thumb|right|Рисунок 1, представление входных данных модели]]
 
При подаче текста на вход сети сначала выполняется его [[Обработка_естественного_языка#.D0.9F.D1.80.D0.B5.D0.B4.D0.BE.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.B0 | токенизация]]. Токенами служат слова, доступные в словаре, или их составные части {{---}} если слово отсутствует в словаре, оно разбивается на части, которые в словаре присутствуют (см. рис. 1).
 
При подаче текста на вход сети сначала выполняется его [[Обработка_естественного_языка#.D0.9F.D1.80.D0.B5.D0.B4.D0.BE.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.B0 | токенизация]]. Токенами служат слова, доступные в словаре, или их составные части {{---}} если слово отсутствует в словаре, оно разбивается на части, которые в словаре присутствуют (см. рис. 1).
 
Словарь является составляющей модели {{---}} так, в BERT-Base<ref>[https://github.com/google-research/bert#bert Github — Google Research — BERT]</ref> используется словарь около 30,000 слов.
 
Словарь является составляющей модели {{---}} так, в BERT-Base<ref>[https://github.com/google-research/bert#bert Github — Google Research — BERT]</ref> используется словарь около 30,000 слов.
Строка 17: Строка 17:
  
 
=== Предобучение ===
 
=== Предобучение ===
[[Файл:BERT_pre-training.png|350px|thumb|right|Рисунок 2. Схема этапа предобучения BERT]]
+
[[Файл:BERT_pre-training.png|350px|thumb|right|Рисунок 2, Схема этапа предобучения BERT]]
  
 
BERT обучается одновременно на двух задачах {{---}} предсказания следующего предложения (англ. ''next sentence prediction'') и генерации пропущенного токена (англ. ''masked language modeling''). На вход BERT подаются токенизированные пары предложений, в которых некоторые токены скрыты (см. рис. 2). Таким образом, благодаря маскированию токенов, сеть обучается глубокому двунаправленному представлению языка, учится понимать контекст предложения. Задача же предсказания следующего предложения есть задача бинарной классификации {{---}} является ли второе предложение продолжением первого. Благодаря ей сеть можно обучить различать наличие связи между предложениями в тексте.
 
BERT обучается одновременно на двух задачах {{---}} предсказания следующего предложения (англ. ''next sentence prediction'') и генерации пропущенного токена (англ. ''masked language modeling''). На вход BERT подаются токенизированные пары предложений, в которых некоторые токены скрыты (см. рис. 2). Таким образом, благодаря маскированию токенов, сеть обучается глубокому двунаправленному представлению языка, учится понимать контекст предложения. Задача же предсказания следующего предложения есть задача бинарной классификации {{---}} является ли второе предложение продолжением первого. Благодаря ей сеть можно обучить различать наличие связи между предложениями в тексте.
Строка 42: Строка 42:
 
=== Пример использования ===
 
=== Пример использования ===
  
Приведём пример предказания пропущенного токена при помощи BERT в составе PyTorch. Скрытый токен {{---}} первое слово второго предложения.
+
Приведём пример предказания пропущенного токена при помощи BERT в составе PyTorch:
 
  <font color=darkgreen># Загрузка токенизатора и входные данные</font>
 
  <font color=darkgreen># Загрузка токенизатора и входные данные</font>
 
  tokenizer = torch.hub.load('huggingface/pytorch-transformers', 'tokenizer', 'bert-base-cased')
 
  tokenizer = torch.hub.load('huggingface/pytorch-transformers', 'tokenizer', 'bert-base-cased')

Пожалуйста, учтите, что любой ваш вклад в проект «Викиконспекты» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Викиконспекты:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос (подробнее):

Отменить | Справка по редактированию (в новом окне)

Шаблон, используемый на этой странице: