Skip to content

potaninmt/SharpML-Recurrent

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SharpML-Recurrent

Реплика проекта Андрея Корпатого "RecurrentJs" и Thomas Lahore's "RecurrentJava" на языке C#.

Слои:

  • RnnLayer (Простой рекуррентный слой)
  • LstmLayer
  • GruLayer
  • FeedForwardLayer
  • ConvolutionLayer
  • MaxPooling
  • Flatten
  • ReShape

Функции активации:

  • AbsUnit
  • ArcTanUnit
  • EliotSigUnit
  • GaussianRbfUnit
  • LinearUnit
  • RectifiedLinearUnit
  • SigmoidUnit
  • SineUnit
  • SoftmaxUnit
  • SqnlUnit
  • SQRBFUnit
  • TanhUnit

Код примера

NeuralNetwork cNN = new NeuralNetwork(random, 0.1);

cNN.AddNewLayer(new Shape(28, 28), new ConvolutionLayer(new RectifiedLinearUnit(0.01), 8, 3, 3));
cNN.AddNewLayer(new MaxPooling(2, 2));
cNN.AddNewLayer(new ConvolutionLayer(new RectifiedLinearUnit(0.01), 16, 3, 3));
cNN.AddNewLayer(new MaxPooling(2, 2));
cNN.AddNewLayer(new ConvolutionLayer(new RectifiedLinearUnit(0.01), 32, 3, 3));
cNN.AddNewLayer(new MaxPooling(2, 2));

cNN.AddNewLayer(new Flatten());
cNN.AddNewLayer(new LstmLayer(10));
cNN.AddNewLayer(new FeedForwardLayer(2, new SoftmaxUnit()));

Лицензия

MIT

Дальнейшие планы

  • Перенести код из этой библиотеки в свой проект AIFramework 3.0 для более удобного использования
  • Написать регуляризацию L1
  • Добавить различные оптимизаторы Adam, Adadelta, Adagrad, Nesterov, SGD.
  • Сделать минипакетное обучение
  • Добавить same в сверточный слой и написать unpooling
  • Написать более высокоуровневые реализации популярных архитектур нейронных сетей
  • Создать реализации IGraph и ITrainer для GPU, на базе Cuda и OpenCL

Благодарности за помощь в реализации

  • Выражаю благодарность Марату за помощь в реализации прямого и обратного прохода в свертке тензоров и пуллинге

About

LSTM и GRU сеть

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%