TransCoder: нейросеть переводит код программы на другой язык |
||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ Атаки на ИИ Внедрение ИИИИ теория Компьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Промпты. Генеративные запросы Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2020-07-28 17:04 TransCoder — это нейросеть, которая переводит код программы с одного языка на другой. Модель не нуждается в размеченных параллельных данных для обучения. На данный момент TransCoder успешно переносит функции на C++, Java и Python 3. Нейросеть обходит существующие открытые и коммерческие программы по переводу кодовой базы. Описание проблемы Перенос кодовой базы с устаревшего языка, как COBOL, на альтернативные современные языки, как Java или C++, является ресурсоемкой задачей. Процесс предполагает наличие экспертизы в обоих языках: исходном и целевом. Что внутри TransCoder TransCoder позволяет облегчить процесс переноса кодовой базы на другой язык. Предыдущие подходы упирались в необходимость наличия параллельного корпуса данных для обучения. TransCoder обходит это ограничение. Модель опирается на исходный код на одном языке. При этом масштабируется на другие языки. Кроме того, исследователи ввели новую метрику для оценки корректности переведенного кода. В качестве архитектуры модели в TransCoder использовали XLM. Для всех языков использовалась одна общая модель. Исследователи обучали TransCoder, учитывая best practices из unsupervised машинного перевода. Оценка работы модели По результатам экспериментов, модель верно переносит более 90% Java функций на C++, 74.8% С++ функций — на Java и 68.7% Java функций — на Python. Для сравнения, платный инструмент корректно переводит 61% функций из C++ на Java. При этом опенсорсное решение справляется с задачей перевода Java функций на C++ с точностью в 38.3%. Телеграм: t.me/ainewsline Источник: neurohive.io Комментарии: |
|