Введение 2
Постановка и актуальность задачи 3
Обзор использованной литературы 6
Глава 1. Метод решения поставленной задачи 7
Глава 2. Элементы теории искусственных нейронных сетей .... 9
2.1. Биологические нейроны 10
2.2. Искусственные нейроны 12
2.3. Сети. Топология. Рекуррентность 13
Глава 3. Эволюционные методы 16
Глава 4. Нейроэволюция 20
Глава 5. Нейроэволюционный метод решения 22
5.1. Обоснование выбора Эрланга как языка реализации. Его пре¬
имущества 22
5.2. SENNs (ИНС с субстратным кодированием) 26
5.3. Используемый метод с точки зрения нейроэволюции 32
5.4. Структура используемой платформы 38
5.5. Код 39
Выводы 40
Оценка результатов 40
Планы на будущее 45
Список литературы 47
Приложение 52
Терминологические примечания 52
В течение значительного времени люди, принимающие решения, испытывали желание, а зачастую также и потребность в ускорении такого принятия решений (этот термин будет пониматься буквально и очень широко, охватывая большую часть человеческой когнитивной деятельности).
Со временем для описания алгоритмов такого принятия решений были разработаны математические области и дисциплины, которые часто тесно связаны друг с другом. Несколько позже, с появлением вычисли¬тельных машин, эти алгоритмы были перенесены на них, что привело к бурному развитию имеющихся научных областей и появлению новых.
В частности, во второй половине XX века стали развиваться области машинного обучения и искусственного интеллекта (ИИ). Достижения, полученные в этих областях, по мере прогресса в них были адаптированы в области человеческой деятельности, в которой решения должны при¬ниматься как можно быстрее, и к тому же они имеют существенные по¬следствия - в области финансов. Финансовый анализ уже довольно дол¬го применяет методы ИИ, включая многочисленные разновидности искусственных нейронных сетей (ИНС, ANNs). Однако до сих пор, если судить по доступным научным публикациям, в этой области было обращено ма¬ло внимания на нейроэволюцию. В этой работе предпринимается попытка исправить такое положение.
Нейроэволюция - метод машинного обучения, использующий эволю-ционные алгоритмы для обучения искусственных ИНС).
В этой работе показывается, что нейроэволюция как метод ИИ способна эффективно решать определённые проблемы в области финансового анализа.
Эрланг по природе своей способен поддерживать значительное коли-ество потокообразных сущностей (так называемых акторов [54]), однако фактически скорость выполнения кода, написанного на Эрланге, растёт с ростом количества доступных процессорных потоков (CPU core threads) .
Вообще говоря, каждый построенный агент должен быть не очень требователен к ресурсам. Однако же в ходе экспериментов множество агентов подвергалось обработке большое количество раз, а такая задача выигрывает от проведения вычислений на мощных машинах. Эксперименты проводились на 3 предоставленных компанией Google виртуальных маши¬нах с 8 vCPU (один vCPU = гипертред на 2.6GHz Intel Xeon E5 (Sandy Bridge)) и 30 GB RAM. В качестве операционной системы использовалась Ubuntu 14.04 LTS x64; версия Эрланга - R18B03.
Было проведено в общей сложности 14 экспериментов для агентов на основе ИНС двух видов:
1) SlidingWindow5
2) SlidingWindow10
3) SlidingWindow20
4) SlidingWindow50
5) . SlidingWindow100
и
6) ChartPlane5X10
7) ChartPlane5X20
8) ChartPlane10X10
9) ChartPlane10X20
10) ChartPlane20X10
11) ChartPlane20X20
12) ChartPlane50X10
13) ChartPlane50X20
14) ChartPlane100x10.
Для агентов были вычислены значения приспособленности (fitness) в зависимости от количества проведённых оценок (evaluations).
Можно видеть, что агенты обоих видов принесли прибыль. Из [1, 3] известно, что для обучения наибольшее возможное значение баланса - $704, а для проверки обобщения - $428; относительно этих показателей прибыль, принесённая выращенными агентами, может считаться значительной.
PLI агенты адаптировались довольно быстро и устойчиво, иногда со-вершая резкие “адаптивные скачки”. В свою очередь, PCI агенты показали более рано начавшийся и более стремительный рост адаптированности, ко-торая со временем стала меняться более плавно. Таким образом, геометри-ческая чувствительность не только работает, но и показывает осмысленные результаты.
Это позволяет предположить, что PCI агенты быстрее адаптирова¬лись, а именно, что они быстрее достигли состояния, в котором небольшая часть популяции удалялась из-за переучивания, и большая часть агентов оставалась в популяции всё дольше. Что позволяет надеяться, что способ-ность PCI агентов к обобщению может быть перенесена на реальные финансовые данные.
Дальнейший анализ графиков показывает, что лучше всего себя про-явили агенты с разрешениями 5x20 и 10x20 и агенты с размером скользя¬щего окна 10 и 20 соответственно; вопреки ожиданиям того, что увеличение разрешения должно привести к увеличению приспособленности.
Возможным объяснением такого поведения для PCI является следу-ющее: с ростом разрешения входного изображения у нейродов постсинапти-ческого слоя появляется столько входов, что они становятся насыщеными и не могут эффективно работать.
Про PLI можно сказать, что при небольшом размере скользящего окна (10 и 20) в ИНС присутствует некоторое количество рекуррентных связей, мешающих простому переучиванию и запоминанию (memorisation) и побуждающих агентов к обобщению. Однако увеличение количества та¬ких связей, похоже, приводит к уменьшению производительности сети.
Данные гипотезы требуют более тщательной проверки и дальнейших экспериментов, как и вся область нейроэволюции в целом.
Используемая нейроэволюционная платформа поддерживает нейро-пластичность в ИНС, управляющих агентами, но в данной серии экспе-риментов она не была использована. Проведение бенчмарков для агентов, использующих нейропластичность, сопоставление результатов с результа-тами испытаний агентов, которые её не используют, и осмысление срав¬нения - отдельная исследовательская задача (требующая длительных вы¬числений и могущая стать целью отдельной (следующей) работы в области нейроэволюции).
В целом можно видеть, что, как и ожидалось, геометрически воспри-имчивые PCI агенты показали своё превосходство над PLI и свою способ¬ность к обобщению и прибыльной торговле. Более того, можно считать, что полученные в результате эксперимента лучшие особи с большой вероятно-стью (связанной с точностью симуляций Форекса) проявят себя в обработке реальных данных в реальном времени. Также можно отметить, что такие агенты будут пользоваться всеми преимуществами, которые предоставляет Эрланг.
1. Gene I. Sher. Handbook of neuroevolution through Erlang. New York: Springer Science + Business Media, 2013.
2. Sher G.I. DXNN Platform: The Shedding of Biological Inefficiencies. Neuron, 1-36 , 2010. Available at: arXiv.
3. Sher G.I. Evolving Chart Pattern Sensitive Neural Network Based ForexTrading Agents. 2012. Available at:arXiv.
4. Versace M., Bhatt R., Hinds O., Shiffer M. Predicting The Exchange Traded Fund DIA With a Combination of Genetic Algorithms and Neural Networks. Expert Systems with Applications 27, pp. 417-425, 2004.
5. Yao J., Poh H.L. Forecasting the KLSE Index Using Neural Networks. IEEE International Conference on Artificial neural networks, 1995.
6. Kimoto T., Asakawa K., Yoda M., Takeoka M. Stock Market Prediction System With Modular Neural Networks. International Joint Conference on Neural Networks 1, 1-6, 1990.
7. Hutchinson J.M., Lo A.W., Poggio T. A Nonparametric Approach to Pricing and Hedging Derivative Securities Via Learning Networks. Journal of Finance 49, pp. 851-889, 1994.
8. Refenes A.N., Bentz Y., Bunn D.W., Burgess A.N., Zapranis A.D. Financial Time Series Modelling With Discounted Least Squares Backpropagation. Science 14, pp. 123- 138, 1997.
9. Li Y., Ma W. Applications of Artificial Neural Networks in Financial Economics: A Survey. 2010 International Symposium on Computational Intelligence and Design, pp. 211-214, 2010.
10. Rong L., Zhi X. Prediction Stock Market With Fuzzy Neural Networks. Proceedings of the Fourth International Conference on Machine Learning and Cybernetics, Guangzhou, pp. 18-21, 2005.
11. Maridziuk J., Jaruszewicz M. Neuro-Evolutionary Approach to Stock Market Prediction. 2007 International Joint Conference on Neural Networks, pp. 2515-2520.
12. Soni S. Applications of ANNs in Stock Market Prediction: A Survey. Ijcsetcom 2, pp. 71-83, 2005.
13. White H., Diego S. Economic Prediction Using Neural Networks: The Case of IBM Daily Stock Returns. 1988 IEEE International Conference on Neural Networks, pp. 451-458.
14. Dogac S. Prediction of stock price direction by artificial neural network approach. Master thesis, Bogazici University, 2008.
15. Yamashita T., Hirasawa K., Hu J. Application of Multi-Branch Neural Networks to Stock Market Prediction. pp.: 2544-2548, 2005.
16. Quiyong Z., Xiaoyu Z., Fu D. Prediction Model of Stock Prices Based on Correlative Analysis and Neural Networks. Second International Conference on Information and Computing Science, pp: 189-192 , IEEE, 2009.
17. Risi S., Stanley K.O. Indirectly Encoding Neural Plasticity as a Pattern of Local Rules. Neural Plasticity 6226, 1-11, 2010.
18. Eliezer Yudkowsky. Rationality: from AI to Zombies. MIRI, 2015.
19. Joe Armstrong. Making Reliable Distributed Systems in The Presence of Software Errors. The Royal Institute of Technology Stockholm, Sweden, (PhD thesis), 2003;
20. Gerstner W. Spiking Neurons. In Pulsed Neural Networks, W. Maass & C. M.Bishop, eds. MIT-Press, pp. 3-53, 1998.
21. Ang C.H., Jin C., Leong P.H.W., Schaik A.V. Spiking Neural Network¬Based Auto-Associative Memory Using FPGA Interconnect Delays. 2011 International Conference on Field-Programmable Technology, 1-4.
22. Luke S., Hohn C., Farris J., Jackson G., Hendler J. Co-evolving Soccer Softbot Team Coordination with Genetic Programming. Proceedings of the First International Workshop on RoboCup at the International Joint Conference on Artificial Intelligence 1395: 398-411, 1997.
23. Koza J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, , 1992.
24. Koza J.R. Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press, 1994.
25. Koza J.R. & al. Genetic Programming. Morgan Kaufmann Publishers. 1998.
26. Koza J.R., Bennett F.H., Andre D., Keane M.A. Genetic Programming III: Darwinian Invention and Problem Solving. Springer, 1999.
27. Koza J.R., Keane M.A., Streeter M.J., Mydlowec W., Yu J., Lanza G. Genetic Programming: Routine Human-Competitive Machine Intelligence. Kluwer Academic Publishers, Springer, 2003.
28. Koza J.R., Keane M.A., Yu J., Bennett F.H., Mydlowec W. Automatic Creation of Human-Competitive Programs and Controllers by Means of Genetic Programming. Genetic Programming and Evolvable Machines 1, 121-164, 2000.
29. Back T., Hoffmeister F., Schwefel H.P. A Survey of Evolution Strategies. In Proceedings of the Fourth International Conference on Genetic Algorithms, / eds. L. B. Belew and R. K. Booker. Morgan Kaufmann, 1991. pp. 2-9.
30. Holland J.H. Adaptation in Natural and Artificial Systems. J. H. Holland, ed. University of Michigan Press, 1975.
31. Cramer N.L. A Representation for the Adaptive Generation of Simple Sequential Programs. In Proceedings of an International Conference on Genetic Algorithms and the Applications, pp. 183-187. J. J. Grefenstette, ed. Lawrence Erlbaum Associates, 1985.
32. Fogel L.J., Owens A.J., Walsh M.J. Artificial Intelligence through Simulated Evolution. L. J. Fogel, A. J. Owens, & M. J. Walsh, eds. John Wiley & Sons. 1966.
33. Kassahun Y., Sommer G. Efficient Reinforcement Learning Through Evolutionary Acquisition of Neural Topologies. In Proceedings of the 13th European Symposium on Artificial Neural Networks ESANN 2005. ACM Press, pp. 259-266.
34. Siebel N.T., Sommer G. Evolutionary Reinforcement Learning of Artificial NeuralNetworks. International Journal of Hybrid Intelligent Systems 4, 171-183, 2007.
35. Stanley K.O., Risto M. Efficient Reinforcement Learning through Evolving Neural Network Topologies. In Proceedings of the Genetic and Evolutionary Computation Conference, 2002.
36. Robyn M. Dawes, Rational Choice in An Uncertain World, pp. 55-56. 1st ed., ed. Jerome Kagan. San Diego, CA: Harcourt Brace Jovanovich, 1988.
37. Dawkins R. The Selfish Gene. Oxford University Press, 1976.
38. Qingxiang W., T M.M., Liam P.M., Rongtai C., Meigui C. Simulation of Visual Attention Using Hierarchical Spiking Neural Networks. ICIC. pp. 26-31, 2011.
39. Rojas R. 1996 Neural Networks: A Systematic Introduction. Springer, 1996.
40. Gupta M.M., Jin L., Homma N. Static and Dynamic Neural Networks From Fundamentals to Advanced Theory. John Wiley & Sons, 2003.
41. Back T., Hoffmeister F., Schwefel H.P. (1991) A Survey of Evolution Strategies. In Proceedings of the Fourth International Conference on Genetic Algorithms, pp. 2-9. L. B. Belew & R. K. Booker, eds. Morgan Kaufmann, 1991.
42. Moscato P. (1989) On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts: Towards memetic Algorithms. 1989. (citeseerx).
43. Krasnogor, N. Coevolution of Genes and Memes in Memetic Algorithms. Proceedings of the 1999 Genetic And Evolutionary Computation Conference Workshop Program, 1999-1999.
44. Gauci J., Stanley K. Generating Large-Scale Neural Networks Through Discovering Geometric Regularities. Proceedings of the 9th annual conference on Genetic and evolutionary computation. GECCO 07, 997. 2007.
45. Risi S., Stanley K.O. Indirectly Encoding Neural Plasticity as a Pattern of Local Rules. Neural Plasticity 6226, 1-11, 2010.
46. Haasdijk E., Rusu A.A., Eiben A.E. HyperNEAT for Locomotion Control in ModularRobots. Control 6274, 169-180, 2010.
47. Coleman O.J. Evolving Neural Networks for Visual Processing. Undergraduate Honours Thesis (Bachelor of Computer Science), University of New South Wales, 2010.
48. Hornik K., Stinchcombe M., White H. Multilayer Feedforward Networks are Universal Approximators. Neural Networks 2, 359-366, 1989.
49. Nick Bostrom. SuperIntelligence: Paths, Dangers, Strategies. Oxford University Press, 2014.
50. Японские свечи. // Википедия, свободная энциклопедия. URL: https://ru.wikipedia.org/wiki/Японские_свечи. (дата обращения: 11.05.2016).
51. Head & Shoulders // Wikipedia, the free encyclopedia. URL: https://en.wikipedia.org/wiki/Head_and_shoulders_(chart_pattern). (дата обращения: 11.05.2016).
52. Neuron // Wikipedia, the free encyclopedia. URL: https://en.wikipedia.org/wiki/Neuron. (дата обращения: 11.05.2016).
53. Chart pattern // Wikipedia, the free encyclopedia. URL: https://en.wikipedia.org/wiki/Chart_pattern. (дата обращения: 11.05.2016).
54. Actor Model // Wikipedia, the free encyclopedia. URL: https://en.wikipedia.org/wiki/Actor_model. (дата обращения: 11.05.2016).