93 research outputs found
Recurrent neural network model for music generation
The paper considers the possibility of generating musical compositions using recurrent neural networks. Two approaches to the generation of musical works are proposed and considered, namely using the method of notes and the method of chords. The research of both methods was carried out, and their advantages and disadvantages were formulated. As a result it was decided to use the method of notes as the main one for music generation. The process of searching and processing data for learning a music neural network is describedin detail, the algorithm for converting data from MIDI format to your own text for use in a neural network is considered in detail. The learning process of the neural network was also described, and the learning speed was compared using GPUs and CPUs, as a result of which it was determined that learningtakes place faster using a graphics processor, in some cases 5.5 times. As a result of testing the operation of the neural network, it was determined that the optimal characteristics of the recurrent neural network for music generation is a network consisting of 4 LSTM layers, each with a dimension of 600 neurons. As music generation cannot be assessed by objective characteristics, a special focus group survey was conducted to assess quality. It shows that music generated by a neural network received almost the same marks as music. written by a man. It should be considered as a great result. It was also determined that it was difficult for the survey participants to correctly identify the author of a musical work, since they correctly identified the authors in only 58% of cases. The proposed solution allows to easily generate musical compositions without human intervention. Problems in programming 2022; 1: 87-9
Модель рекурентної нейронної мережі для генерації музики
The paper considers the possibility of generating musical compositions using recurrent neural networks. Two approaches to the generation of musical works are proposed and considered, namely using the method of notes and the method of chords. The research of both methods was carried out, and their advantages and disadvantages were formulated. As a result it was decided to use the method of notes as the main one for music generation. The process of searching and processing data for learning a music neural network is describedin detail, the algorithm for converting data from MIDI format to your own text for use in a neural network is considered in detail. The learning process of the neural network was also described, and the learning speed was compared using GPUs and CPUs, as a result of which it was determined that learningtakes place faster using a graphics processor, in some cases 5.5 times. As a result of testing the operation of the neural network, it was determined that the optimal characteristics of the recurrent neural network for music generation is a network consisting of 4 LSTM layers, each with a dimension of 600 neurons. As music generation cannot be assessed by objective characteristics, a special focus group survey was conducted to assess quality. It shows that music generated by a neural network received almost the same marks as music. written by a man. It should be considered as a great result. It was also determined that it was difficult for the survey participants to correctly identify the author of a musical work, since they correctly identified the authors in only 58% of cases. The proposed solution allows to easily generate musical compositions without human intervention. Problems in programming 2022; 1: 87-93У роботі розглядається можливість генерації музичних композицій, використовуючи рекурентні не- йронні мережі. Запропоновано та розглянуто два методи генерації музичних творів – на рівні нот та на рівні акордів. Проведено дослідження обох методів та визначено їх переваги та недоліки. Далі для розробки обрано метод генерації на рівні нот, для якого детально описано процес пошуку та об- робки даних для навчання генерації музики за допомогою рекурентної нейронної мережі. Це дозволяє автоматизувати генерацію музичних творів без втручання людини. Для побудованої моделі виконано програмну реалізацію запропонованого рішення, проведені експерименти та їх верифікація за участю фокус-групи людей щодо визначення авторства створеної музики – людина чи комп’ютер.Problems in programming 2022; 1: 87-93
Засоби проектування об'єктно-орієнтованих програм на основі алгебри алгоритмів
Means for representation of sequential and parallel programs based on algorithmic description reviewed. Methods for dialog design and synthesis of parallel and object-oriented programs in Java described. Instrumental toolkit based on aforementioned methodology presented.Рассмотрены средства алгоритмических описаний для представления последовательных и параллельных алгоритмов. Описаны методы диалогового конструирования алгоритмов и синтеза объектно-ориентированных программ. Рассмотрен разработанный инструментарий на основе данных методов. Описан метод синтеза последовательных и параллельных программ на языке Java.Розглянуто засоби алгоритмічних описів для подання послідовних і паралельних алгоритмів. Описано ме-тоди діалогового конструювання алгоритмів та синтезу об'єктно-орієнтованих програм. Розглянуто розроблений інстр-рументарій на основі даних методів. Описано метод синтезу послідовних та паралельних програм на мові Java
Автоматизоване проектування програм для платформи .net, що використовують бібліотеку паралельних задач
The necessity to improve the performance of software solving labour-intensive tasks, on the one hand, and new capabilities provided by multicore architecture of contemporary microprocessors, on the other, encourages the development of specialized software tools for automated development of parallel programs for such architectures. Further progress in improving the efficiency of multithreaded programs on .NET platform is using the task parallel library TPL. The paper proposes the further development of previously developed algebra-algorithmic tools in the direction of formalized design and synthesis of C# programs using TPL. The library raises the labour productivity of developers by simplifying the procedure of adding parallelism to a program and dynamically scales parallelism level to use all available processors in the most efficient way. The proposed approach uses high-level language based on Glushkov’s system of algorithmic algebra and the method of designing syntactically correct programs that excludes the possibility of appearance of syntactic errors during scheme design. The results of the experiment consisting in executing examples of generated parallel programs on a multicore processor are given.Problems in programming 2020; 1: 17-24Необходимость в повышении производительности программного обеспечения для решения трудоемких задач, с одной стороны, и новые возможности распараллеливания вычислений, предоставляемые многоядерной архитектурой современных микропроцессоров, с другой, побуждает к созданию специализированных инструментальных средств для разработки параллельных программ для таких архитектур. Одним из способов дальнейшего повышения эффективности многопоточных программ, разработанных на платформе .NET, является использование библиотеки параллельных задач TPL. В статье выполнено дальнейшее развитие ранее разработанного алгебро-алгоритмического инструментария в направлении формализованного проектирования и синтеза параллельных программ на языке C#, использующих средства TPL. Упомянутая библиотека повышает производительность труда разработчиков за счет упрощения процедуры добавления параллелизма в программу и динамически масштабирует степень параллелизма для наиболее эффективного использования всех доступных процессоров. В основу предлагаемого подхода положены язык систем алгоритмических алгебр Глушкова и метод конструирования синтаксически правильных программ, который исключает возможность появления синтаксических ошибок в процессе проектирования схем. Проведен эксперимент по выполнению сгенерированных с помощью разработанного инструментария примеров параллельных программ на многоядерном процессоре.Problems in programming 2020; 1: 17-24Виконане налаштування алгебро-алгоритмічного інструментарію на формалізоване проектування та синтез паралельних програм мовою C# для платформи .NET, що використовують засоби бібліотеки паралельних задач TPL. Згадана бібліотека підвищує продуктивність праці розробників за рахунок спрощення процедури додавання паралелізму в програму та динамічно масштабує степінь паралелізму для найбільш ефективного використання усіх доступних процесорів. В основу пропонованого підходу покладені мова САА-схем, перевагою якої є простота в навчанні й використанні, а також метод конструювання синтаксично правильних програм, що виключає можливість появи синтаксичних помилок у процесі проектування схем. Проведено експеримент з виконання згенерованих за допомогою розробленого інструментарію прикладів паралельних програм на багатоядерному процесоріProblems in programming 2020; 1: 17-2
On performance of the In-Memory Data Grids
The paper analyzes advantages of the modern In-Memory Data Grid systems. Major In-Memory Data Grids platforms are described with particular stress on their unique features. The sets of experiments based on real usage scenarios were conducted in order to clarify the performance of the platforms
Recurrent neural networks for the problem of improving numerical meteorological forecasts
This paper briefly describes examples of how deep learning can be applied to geoscientific problems, as well as the main difficulties that arise when scientists apply this technique to the problems of meteorological forecasting. This paper aims at comparing the two most popular types of recurrent neural network architectures, namely the long short-term memory network and the gated recurrent unit when they are used to improve 2m temperature forecast results obtained using numerical hydrodynamic methods of meteorological forecasting. An efficiency comparison of architectures of recurrent neural networks was performed using the root-mean-square error. It is shown that all models with gated recurrent units are more efficient than models with long short-term memory. Thus the best architecture of recurrent neural networks for solving the problem of improving numerical meteorological forecasts has been revealed.Prombles in programming 2023; 4: 90-9
Method of parallelization of loops for grid calculation problems on GPU accelerators
The formal parallelizing transformation of a nest of calculation loop for SIMD architecture devices, particularly for graphics processing units applying CUDA technology and heterogeneous clusters is developed. Procedure of transition from sequential to parallel algorithm is described and illustrated. Serialization of data is applied to optimize processing of large volumes of data. The advantage of the suggested method is its applicability for transformation of data which volumes exceed the memory of operating device. The experiment is conducted to demonstrate feasibility of the proposed approach. Technique presented in the provides the basis for further practical implementation of the automated system for parallelizing of nested loops.Problems in programming 2017; 1: 59-6
Рекурентні нейронні мережі для задачі уточнення чисельних метеорологічних прогнозів
This paper briefly describes examples of how deep learning can be applied to geoscientific problems, as well as the main difficulties that arise when scientists apply this technique to the problems of meteorological forecasting. This paper aims at comparing the two most popular types of recurrent neural network architectures, namely the long short-term memory network and the gated recurrent unit when they are used to improve 2m temperature forecast results obtained using numerical hydrodynamic methods of meteorological forecasting. An efficiency comparison of architectures of recurrent neural networks was performed using the root-mean-square error. It is shown that all models with gated recurrent units are more efficient than models with long short-term memory. Thus the best architecture of recurrent neural networks for solving the problem of improving numerical meteorological forecasts has been revealed.Prombles in programming 2023; 4: 90-97Зроблено короткий огляд застосування “глибокого навчання” до геонаукових задач. Порівняні два найпопулярніші види архітектур рекурентних нейронних мереж, а саме мережу довгої короткочасної пам’яті та вентильний рекурентний вузол. Показано, що усі моделі з вентильними рекурентними вузлами є більш ефективними за моделі довгої короткочасної пам’яті. На основі доступних даних спостережень здійснено чисельні експерименти з уточнення прогнозу за допомогою машинного навчання. Виявлено, що кращою архітектуру рекурентних нейронних мереж для розв’язання задачі уточнення чисельних метеорологічних прогнозів є вентильний рекурентний вузол.Prombles in programming 2023; 4: 90-9
Застосування засобів нейроеволюції в технічних системах автоматизації керування
Reinforced learning is a field of machine learning based on how software agents should perform actions in the environment to maximize the concept of cumulative reward. This paper proposes a new application of machine reinforcement learning techniques in the form of neuroevolution of augmenting topologies to solve control automation problems using modeling control problems of technical systems. Key application components include OpenAI Gym toolkit for developing and comparing reinforcement learning algorithms, full-fledged open-source implementation of the NEAT genetic algorithm called SharpNEAT, and intermediate software for orchestration of these components. The algorithm of neuroevolution of augmenting topologies demonstrates the finding of efficient neural networks on the example of a simple standard problem with continuous control from OpenAI Gym.Prombles in programming 2021; 1: 16-25Навчання з підкріпленням – галузь машинного навчання, що базується на тому, як програмним агентам слід виконувати дії у середовищі з метою максимізації поняття кумулятивної винагороди. В даній роботі запропоновано нове застосування техніки машинного навчання з підкріпленням у формі нейроеволюції наростаючих топологій для розв’язування задач автоматизації керування на одному з прикладів моделювання задач керування технічними системами. Використовується набір інструментів для розробки та порівняння алгоритмів навчання з підкріпленням OpenAI Gym, повноцінна реалізація з відкритим програмним кодом генетичного алгоритму нейроеволюції NEAT під назвою SharpNEAT, та проміжне програмне забезпечення для оркестрації зазначених компонентів. Алгоритм нейроеволюції наростаючих топологій демонструє знаходження ефективних нейронних мереж на прикладі вирішення простих стандартних галузевих задач з системами з неперервним керуванням з набору OpenAI Gym.Prombles in programming 2021; 1: 16-2
Automated inventory management system on Android using barcodes and QR-codes
A software is developed for inventory automation based on Android using the Firebase database in the Java programming language. The appendix uses a system of reading barcodes and QR-codes, which provide the addition of goods to the warehouse with all the details of the selected product and informationon all stocks in the warehouse with their price, category, name and code goods. Implemented authorization of system users using the open FirebaseAuth standard. Creating a single service for authorization and registration allows to make the system scalable. The system implements the search for goods by code, as well as viewing stocks in the warehouse with automatic price calculation. The main service of the database is a cloud database of the NoSQL class, which allows storing and synchronizing data between several clients, there is an API for data encryption. In addition, the database remains available only in the application to avoid unauthorized access and editing. While development, it was decided to make an automated control system on the Android OS device, because industrial digitalization (precisely because of the mass introduction of smart devices) requires mobility and accelerated processing of stocks at various stages of turnover. Testing of the developed software is carried out.Problems in programming 2022; 1: 13-22
- …
