Сравнение библиотек глубокого обучения
Машинное обучение как активно развивающаяся область научных исследований. Основные методы моделирования высокоуровневых абстракций в данных с помощью множества последовательных нелинейных трансформаций. Использование нейросетей для распознания объектов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 22.03.2019 |
Размер файла | 797,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Уральский федеральный университет имени первого Президента России Б.Н.Ельцина, ул. Мира, 19, г. Екатеринбург, 620002
Сравнение библиотек глубокого обучения
Кочуров Даниил Николаевич, студент,
Аннотация
машинный обучение абстракция нейросеть
В настоящее время машинное обучение является активно развивающейся областью научных исследований. Это связано как с возможностью быстрее, проще и дешевле собирать и обрабатывать данные, так и с развитием методов выявления из этих данных законов, по которым протекают физические, биологические, экономические и другие процессы. В некоторых задачах, когда такой закон определить достаточно сложно, используют глубокое обучение. Глубокое обучение рассматривает методы моделирования высокоуровневых абстракций в данных с помощью множества последовательных нелинейных трансформаций, которые, как правило, представляются в виде искусственных нейронных сетей. На сегодняшний день нейросети успешно используются для решения таких задач, как прогнозирование, распознавание образов, сжатие данных и ряда других.
Цель работы: Дать сравнительный анализу некоторых программных инструментов библиотек глубокого обучения.
Ключевые слова: машинное обучение, нейросети, глубокое обучение, Метод группового учета аргументов, База данных MNIST, Caffe, Pylearn2, Torch, Theano
Машинное обучение (англ. Machine Learning) -- обширный подраздел искусственного интеллекта, математическая дисциплина, использующая разделы математической статистики, численных методов оптимизации, теории вероятностей, дискретного анализа, и извлекающая знания из данных.
В классическом машинном обучении важные экспертные знания вводятся вручную, однако затем система обучается, организуя вывод данных на основании самостоятельно изученных признаков. Этот тип машинного обучения широко используется для решения простых задач распознавания объектов. При проектировании таких систем большая часть времени тратится на выбор верного обучающего набора данных. Когда знания экспертов удается формализовать, то для получения выходных данных используется обычный классификатор.
Глубокое обучение - это часть более широкого семейства методов машинного обучения - обучения представлениям, где векторы признаков располагаются сразу на множестве уровней. Эти признаки определяются автоматически и связывают друг с другом, формируя выходные данные. На каждом уровне представлены абстрактные признаки, основанные на признаках предыдущего уровня. Таким образом, чем глубже мы продвигаемся, тем выше уровень абстракции. В нейронных сетях множество слоев представляет собой множество уровней с векторами признаков, которые генерируют выходные данные.
Метод группового учета аргументов, МГУА (Group Method of Data Handling, GMDH) -- метод порождения и выбора регрессионных моделей оптимальной сложности.
Если выборка содержит несколько элементов то, при построении регрессионных моделей, использовать статистические гипотезы о плотности распределения, например, гипотезу о Гауссовском распределении, невозможно. Поэтому используется индуктивный подход, согласно которому последовательно порождаются модели возрастающей сложности до тех пор, пока не будет найден минимум некоторого критерия качества модели. Этот критерий качества называется внешний критерий, так как при настройке моделей и при оценке качества моделей используются разные данные. Достижение глобального минимума внешнего критерия при порождении моделей означает, что модель, доставляющая такой минимум, является искомой.
Данная статья посвящена сравнительному анализу некоторых программных инструментов глубокого обучения, которых в последнее время появилось великое множество [1]. К числу таких инструментов относятся программные библиотеки, расширения языков программирования, а также самостоятельные языки, позволяющие использовать готовые алгоритмы создания и обучения нейросетевых моделей. Существующие инструменты глубокого обучения имеют различный функционал и требуют от пользователя разного уровня знаний и навыков. Правильный выбор инструмента -- важная задача, позволяющая добиться необходимого результата за наименьшее время и с меньшей затратой сил.
В статье представляю краткий обзор четырех библиотек инструментов проектирования и обучения в нейросетевых моделей это Caffe, Pylearn2, Torch и Theano. Сравнительные функциональные возможности и общая информация о некоторых из них в таблице. (таблица 1).
Разработчики предоставляют возможности для создания полностью связанных нейросетей (fully connected neural network, FC NN [2]), сверточных нейронных сетей (convolutional neural network, CNN [3]) автокодировщиков (autoencoder, AE) и ограниченных машин Больцмана (restricted Boltzmann machine, RBM)[4].
Таблица 1. Возможности программных средств глубокого обучения
№ |
Название |
Язык |
ОС |
FC NN |
CNN |
AE |
RBM |
||
1 |
Theano |
Python |
Windows, Linux, Mac |
+ |
+ |
+ |
+ |
||
2 |
Pylearn2 |
Python |
Linux, Vagrant |
+ |
+ |
+ |
+ |
||
3 |
Torch |
Lua, C |
Linux, Mac OS X, iOS, Android |
+ |
+ |
+ |
+ |
||
4 |
Caffe |
C++, Python |
Linux, OS X |
+ |
+ |
- |
- |
||
В качестве исследуемого набора данных будет использоваться база изображений рукописных цифр MNIST (рис. 1). Изображения в данной базе имеют разрешение 28x28 и хранятся в формате оттенков серого.
Цифры отцентрированы на изображении.
Рис. 1. Примеры изображений цифр в базе MNIST
База данных MNIST (смешанный Национальный институт стандартов и технологий базы данных) большая база данных рукописных цифр, которая обычно используется для подготовки различных обработки изображений систем. База данных также широко используется для обучения и тестирования в области машинного обучения. Он был создан "повторного перемешивания" образцов из исходных наборов данных НИСТ. Создатели считали, что, поскольку подготовка набора данных NIST была взята из американского Бюро переписи работников, в то время как тестирование набора данных была взята из американской средней школы студентов, это было не очень хорошо подходит для машинного обучения экспериментов.
Рассмотрим общие сведенья о каждой из библиотек.
Caffe.
Разработка Caffe ведется с сентября 2013 г. Начало разработки положил Yangqing Jia во время его обучения в калифорнийском университете в Беркли. С указанного момента Caffe активно поддерживается Центром Зрения и Обучения Беркли (The Berkeley Vision and Learning Center, BVLC) и сообществом разработчиков на GitHub. Библиотека распространяется под лицензией BSD 2-Clause.
Caffe реализована с использованием языка программирования C++, имеются обертки на Python и MATLAB. Официально поддерживаемые операционные системы -- Linux и OS X, также имеется неофициальный порт на Windows. Caffe использует библиотеку BLAS (ATLAS, Intel MKL, OpenBLAS) для векторных и матричных вычислений. Наряду с этим, в число внешних зависимостей входят glog, gflags, OpenCV, protoBuf, boost, leveldb, nappy, hdf5, lmdb. Для ускорения вычислений Caffe может быть запущена на GPU с использованием базовых возможностей технологии CUDA или библиотеки примитивов глубокого обучения cuDNN.
Разработчики Caffe поддерживают возможности создания, обучения и тестирования полностью связанных и сверточных нейросетей.
В процессе обучения моделей применяются различные методы оптимизации. Разработчики Caffe предоставляют реализацию ряда методов:
§ Стохастический градиентный спуск (Stochastic Gradient Descent, SGD) [6].
§ Алгоритм с адаптивной скоростью обучения (adaptive gradient learning rate algorithm, AdaGrad) [7].
§ Ускоренный градиентный спуск Нестерова (Nesterov's Accelerated Gradient Descent, NAG) [8].
В библиотеке Caffe топология нейросетей, исходные данные и способ обучения задаются с помощью конфигурационных файлов в формате prototxt. Файл содержит описание входных данных (тренировочных и тестовых) и слоев нейронной сети. Рассмотрим этапы построения таких файлов на примере сети “логистическая регрессия” (рис. 1). Далее будем считать, что файл называется linear_regression.prototxt, и он размещается в директории examples/mnist.
Рис. 2. Структура нейронной сети
Pylearn2
Pylearn2 -- библиотека, разрабатываемая в лаборатории LISA в университете Монреаля с февраля 2011 года. Имеет около 100 разработчиков на GitHub. Библиотека распространяется под лицензией BSD 3Clause.
Pylearn2 реализована на языке Python, в настоящее время поддерживается операционная система Linux, также возможен запуск на любой операционной системе с использованием виртуальной машины, т.к. разработчики предоставляют сконфигурированную обертку виртуальной среды на базе Vagrant. Pylearn2 является надстройкой над библиотекой Theano. Дополнительно требуются PyYAML, PIL. Для ускорения вычислений Pylearn2 и Theano используют Cuda-convnet, которая реализована на C++/CUDA, что дает значительный прирост в скорости.
В Pylearn2 поддерживается возможность создания полностью связанных и сверточных нейросетей, различных видов автокодировщиков (Contractive Auto-Encoders, Denoising Auto-Encoders) и ограниченных машин Больцмана (Gaussian RBM, the spike-and-slab RBM).
Предусмотрены несколько функций ошибки:
• кросс-энтропия (cross-entropy),
• логарифмическое правдоподобие
• (log-likelihood).
Имеются следующие методы обучения
• Пакетный градиентный спуск (Batch Gradient Descent, BGD).
• Стохастический градиентный спуск (Stochastic Gradient Descent, SGD).
• Нелинейный метод сопряженных градиентов (Nonlinear conjugate gradient descent, NCG). В библиотеке Pylearn2 нейросети задаются с помощью их описания в конфигурационном файле в формате YAML. YAML-файлы являются удобным и быстрым способом сериализации объектов, так как она разработана с использованием методов объектно-ориентированного программирования.
Тоrсh
Torch -- библиотека для научных вычислений с широкой поддержкой алгоритмов машинного
обучения. Разрабатывается Idiap Research Institute, New York University и NEC Laboratories America, начиная с 2000г., распространяется под лицензией BSD.
Основных функции torch:
• мощный N-мерный массив
• множество процедур для индексации, нарезка, транспонирование
• удивительный интерфейс C, через LuaJIT
• линейные процедуры алгебры
• нейронная сеть, и энергетические модели на основе
• числовые процедуры оптимизации
• Поддержка быстрого и эффективного GPU
• Встраиваемый, с портами для IOS, Android и FPGA бэкэндов
Библиотека реализована на языке Lua с использованием C и CUDA. Быстрый скриптовый язык Lua в совокупности с технологиями SSE, OpenMP, CUDA позволяют Torch показывать неплохую скорость по сравнению с другими библиотеками. На данный момент поддерживаются операционные системы Linux, FreeBSD, Mac OS X. Основные модули также работают и на Windows. В зависимостях Torch находятся пакеты imagemagick, gnuplot, nodejs, npm и другие.
Библиотека состоит из набора модулей, каждый из которых отвечает за различные стадии работы с нейросетями. Так, например, модуль nn обеспечивает конфигурирование нейросети (определению слоев, и их параметров), модуль optim содержит реализации различных методов оптимизации, применяемых для обучения, а gnuplot предоставляет возможность визуализации данных (построение графиков, показ изображений и т.д.). Установка дополнительных модулей позволяет расширить функционал библиотеки.
Torch позволяет создавать сложные нейросети с помощью механизма контейнеров. Контейнер -- это класс, объединяющий объявленные компоненты нейросети в одну общую конфигурацию, которая в дальнейшем может быть передана в процедуру обучения. Компонентом нейросети могут быть не только полносвязные или сверточные слои, но и функции активации или ошибки, а также готовые контейнеры. Torch позволяет создавать следующие слои:
• Полносвязный слой (Linear).
• Функции активации: гиперболический тангенс (Tanh), выбор минимального (Min) или максимального (Max), softmax-функция (SoftMax) и другие.
• Сверточные слои: свертка (Convolution), прореживание (SubSampling), пространственное объединение (MaxPooling, AveragePooling, LPPooling), разностная нормализация (SubtractiveNormalization).
Функции ошибки: средне-квадратичная ошибка (MSE), кросс-энтропия (CrossEntropy) и т.д.
При обучении могут использоваться следующие методы оптимизации:
• Стохастический градиентный спуск (SGD),
• Усредненный стохастический градиентный спуск (Averaged SGD) [9].
• Алгоритм Бройдена - Флетчера - Гольдфарба - Шанно (L-BFGS) [10].
• Метод сопряженных градиентов (Conjugate Gradient, CG).
Theano
Theano -- это расширение языка Python, позволяющее эффективно вычислять математические выражения, содержащие многомерные массивы. Библиотека получила свое название в честь имени жены древнегреческого философа и математика Пифагора -- Феано (или Теано). Theano разработана в лаборатории LISA для поддержки быстрой разработки алгоритмов машинного обучения.
Библиотека реализована на языке Python, поддерживается на операционных системах Windows, Linux и Mac OS. В состав Theano входит компилятор, который переводит математические выражения, написанные на языке Python в эффективный код на C или CUDA.
Theano предоставляет базовый набор инструментов для конфигурации нейросетей и их обучения. Наибольшее признание Theano получила в задачах машинного обучения при решении задач оптимизации. Библиотека позволяет использовать возможности GPU без изменения кода программы, что делает ее незаменимой при выполнении ресурсоемких задач. Возможна реализация многослойных полностью связанных сетей (Multi-Layer Perceptron), сверточных нейросетей (CNN), рекуррентных нейронных сетей (Recurrent Neural Networks, RNN), автокодировщиков и ограниченных машин Больцмана. Также предусмотрены различные функции активации, в частности, сигмоидальная, softmax-функция, кроссэнтропия. В ходе обучения используется пакетный градиентный спуск (Batch SGD).
Сравнение библиотек на примере задачи классификации рукописных цифр
Тестовая инфраструктура
В ходе экспериментов по оценке производительности библиотек использована следующая тестовая инфраструктура:
1. Ubuntu 12.04, Intel Core i5-3210M @ 2.5GHz (CPU эксперименты).
2. Ubuntu 14.04, Intel Core i5-2430M @ 2.4GHz + NVIDIA GeForce GT 540M (GPU эксперименты).
3. GCC 4.8, NVCC 6.5.
Топологии сетей и параметры обучения
Вычислительные эксперименты проводились на полносвязной и сверточной нейронных сетях следующей структуры:
1. Трехслойная полносвязная нейронная сеть (MLP,):
• 1st layer - FC (in: 784, out: 392, activation: tanh).
• 2d layer - FC (in: 392, out: 196, activation: tanh).
• 3d layer - FC (in: 196, out: 10, activation: softmax).
Рис 3. Структура трехслойной полносвязной сети
Сверточная нейронная сеть (CNN, ):
• 1st layer - convolution (in filters: 1, out filters: 28, size: 5x5, stride: 1x1).
• 2d layer - max-pooling (size: 3x3, stride: 3x3).
• 3d layer - convolution (in filters: 28, out filters: 56, size: 5x5, stride 1x1).
• 4th layer - max-pooling (size: 2x2, stride: 2x2).
• 5th layer - FC (in: 224, out: 200, activation: tanh).
• 6th layer - FC (in: 200, out: 10, activation: softmax).
Рис 4. Структура сверточной нейронной сети
Все веса инициализировались случайным образом согласно равномерному закону распределения в диапазоне (?6/(n_in + n_out), 6/(n_in + n_out)), где n_in, n_out - количество нейронов на входе и выходе слоя соответственно. Параметры стохастического градиентного спуска (SGD) выбраны, равными следующим значениям: learning rate -- 0.01, momentum -- 0.9, weight decay -- 5e-4, batch size -- 128, максимальное число итераций -- 150.
Тестирование проходила на базе данных MNIST
Время обучения нейронных сетей, описанных ранее (рис.3,4) помощью четырех рассмотренных библиотек, представлено ниже (рис. 5). Легко заметить, что Pylearn2 показывает худшую производительность (как на CPU, так и на GPU) по сравнению с другими библиотеками. Что же касается остальных, время обучения сильно зависит от структуры сети. Лучший результат среди реализаций сетей, запущенных на CPU, показала библиотека Torch (причем на CNN она обогнала саму себя же, запущенную на GPU). Среди GPUреализаций наилучший результат (на обеих сетях) показала библиотека Caffe. В целом от использования Caffe остались только положительные впечатления.
CPU реализации
GPU реализации
Рис 5. Время обучения сетей MLP и CNN,
Что же касается времени классификации одного изображения на CPU с помощью обученных моделей (рис. 6), то несложно видеть, что библиотека Torch оказалась вне конкуренции на обеих тестовых нейросетях.
Немного от нее отстала Caffe на CNN, которая при этом показала худшее время классификации на MLP.
Рис. 6. Время классификации одного изображения с помощью обученных сетей MLP и CNN
Если обратиться к точности классификации, то на сети MLP оно выше 97.4%, а CNN -- ~99% для всех библиотек. Полученные значения точности несколько ниже приведенных на сайте MNIST на тех же структурах нейросетей. Небольшие отличия обусловлены различиями в настройках начальных весов сетей и параметрах методов оптимизации, применяемых в процессе обучения. Собственно, цели достижения максимальных значений точности и не было, скорее необходимо было построить идентичные структуры сетей и задать максимально схожие параметры обучения.
Таблице 2. Среднее значение и дисперсия показателей точности классификации по 5 экспериментам
Caffe |
Pylearn2 |
Theano |
Torch |
||||||
Точность, % |
Дисперсия |
Точность, % |
Дисперсия |
Точность, % |
Дисперсия |
Точность, % |
Дисперсия |
||
MLP |
98.26 |
0.0039 |
98.1 |
0 |
97.42 |
0.0023 |
98.19 |
0 |
|
CNN |
99.1 |
0.0038 |
99.3 |
0 |
99.16 |
0.0132 |
99.4 |
0 |
Сравнение выбранных библиотек
На основании проведенного исследования функционала библиотек, а также анализа производительности на примере задачи классификации рукописных цифр дана оценка каждой из них по шкале от 1 до 3 по следующим критериям:
• Скорость обучения отражает время обучения нейросетевых моделей, рассмотренных на этапе проведения экспериментов.
• Скорость классификации отражает время классификации одного изображения.
• Удобство использования -- критерий, который позволяет оценить время, затраченное на изучение библиотеки.
• Гибкость настройки связей между слоями, установки параметров методов, а также наличие различных способов обработки данных.
• Объем функционала -- наличие реализации типовых методов глубокого обучения (полностью связанных сетей, сверточных нейросетей, автокодировщиков, ограниченных машин Больцмана, различных методов оптимизации и функций ошибки).
• Наличие и удобство использования документации и обучающих материалов
Рассмотрим оценки, полученные по каждому критерию, расставим места каждой библиотеке от первого до третьего (таблица 3). Согласно результатам вычислительных экспериментов с точки зрения скорости работы наиболее предпочтительной является библиотека Caffe При этом она же оказалась наиболее удобной в использовании. С позиции гибкости библиотека Theano показала наилучшие результаты. По функциональным возможностям наиболее полной является Pylearn2, но ее использование осложнено необходимостью понимания внутреннего устройства (формирование YAML-файлов требует этого). Наиболее подробный и понятный материал для изучения предоставляют разработчики Torch. Показав средние показатели по каждому критерию в отдельности, именно она и выиграла в рейтинге рассмотренных библиотек.
Таблица 3. Результаты сравнения библиотек (места от 1 до 3 по каждому критерию)
Скорость обучения |
Скорость классификации |
Удобство |
Гибкость |
Функционал |
Документация |
Сумма |
||
Caffe |
1 |
2 |
1 |
3 |
3 |
2 |
12 |
|
Pylearn2 |
3 |
3 |
2 |
3 |
1 |
3 |
15 |
|
Torch |
2 |
1 |
2 |
2 |
2 |
1 |
10 |
|
Theano |
2 |
2 |
3 |
1 |
2 |
2 |
12 |
Заключение
Подводя итог, можно сказать, что наиболее зрелой является библиотека Torch. При этом библиотеки Caffe и Theano не уступают ей, поэтому нельзя исключать возможность их последующего использования. В дальнейшем для создания курса лекций исследования применимости методов глубокого обучения к задачам детектирования лиц, пешеходов и автомобилей планируется применять библиотеки Torch.
Список литературы
1. Kustikova, V.D., Druzhkov, P.N.: A Survey of Deep Learning Methods and Software for Image Classification and Object Detection. In: Proc. of the 9th Open German-Russian Workshop on Pattern Recognition and Image Understanding. (2014)
2. Hinton, G.E.: Learning Multiple Layers of Representation. In: Trends in Cognitive Sciences. Vol. 11. pp. 428-434. (2007)
3. LeCun, Y., Kavukcuoglu, K., Farabet, C.: Convolutional networks and applications in vision. In: Proc. of the IEEE Int. Symposium on Circuits and Systems (ISCAS). pp. 253-256. (2010)
4. Hayat, M., Bennamoun, M., An, S.: Learning Non-Linear Reconstruction Models for Image Set Classification. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. (2014)
5. Restricted Boltzmann Machines (RBMs), www.deeplearning.net/tutorial/rbm.html.
6. Bottou, L.: Stochastic Gradient Descent Tricks. Neural Networks: Tricks of the Trade, research.microsoft.com/pubs/192769/tricks-2012.pdf.
7. Duchi, J., Hazan, E., Singer, Y.: Adaptive Subgradient Methods for Online Learning and Stochastic Optimization. In: The Journal of Machine Learning Research. (2011)
8. Sutskever, I., Martens, J., Dahl, G., Hinton, G.: On the Importance of Initialization and Momentum in Deep Learning. In: Proc. of the 30th Int. Conf. on Machine Learning. (2013)
9. Усредненный стохастический градиентный спуск (ASGD), research.microsoft.com/pubs/192769/tricks2012.pdf.
10. Алгоритм Бройдена-Флетчера-Гольдфарба-Шанно, en.wikipedia.org/wiki/Limited-memory_BFGS.
Размещено на Allbest.ru
...Подобные документы
Исследование нейросетевых архитектур и их приложений. Общие принципы, характерные для нейросетей. Локальность и параллелизм вычислений. Программирование: обучение, основанное на данных. Универсальность обучающих алгоритмов. Сферы применения нейросетей.
курсовая работа [250,5 K], добавлен 25.11.2010Разработка интерфейса для объединения в структуру данных множества объектов различных классов (абстрактный базовый класс TObject). Создание таблиц (коллекций) объектов с помощью механизма объектно-ориентированного программирования - полиморфизма.
курсовая работа [175,7 K], добавлен 06.08.2013Основные понятия экономической информатики. Информационная система, ее роль и место в системе управления. Формирование решений с помощью нейросетей. Создание информационных систем с учетом стандартов их жизненного цикла. Электронный документооборот.
шпаргалка [206,4 K], добавлен 10.11.2010Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Запрос - один из объектов информационной системы. Область данных - часть формы, в которую добавляются элементы управления, связанные с полями базовых таблиц. Счетчик – автоматическая вставка последовательных или случайных чисел при добавлении записи.
курсовая работа [2,2 M], добавлен 18.05.2017Принцип работы нейросетей и модели синтеза. Ключевые моменты проблемы распознавания речи. Система распознавания речи как самообучающаяся система. Описание системы: ввод звука, наложение первичных признаков на вход нейросети, модель и обучение нейросети.
курсовая работа [215,2 K], добавлен 19.10.2010Численные методы в задачах без ограничений. Схема методов спуска. Среда редактора Visual Basic. Использование объектов ActiveX в формах. Блок-схема алгоритма моделирования. Задачи оптимизирования детерменированных функций с единственной точкой экстремума.
курсовая работа [129,5 K], добавлен 26.04.2010Программный комплекс по обработке заданного множества данных в динамической памяти компьютера. Запросы к массиву записей множества данных – групп в детском саду. Функция сортировки массива по числовому полю. Использование главной программы MAINPRO.
курсовая работа [419,3 K], добавлен 23.07.2014Общая методика решения задачи определения связанного множества пикселей с помощью функции bwlabel, в языке моделирования Matlab. Возможности оптимизации программы по временным характеристикам для возможности использования функции в анализе видеопотока.
статья [894,5 K], добавлен 11.03.2009Характерные черты информационных систем обработки информации (баз данных). Предметная область базы данных. Состояние объектов и их взаимосвязей. Основные модели данных, связывание таблиц. Потенциальные ключи отношений. Языки запросов SQL и QBE.
реферат [131,7 K], добавлен 20.10.2010Компьютер как средство обучения. Классификация учебно-программных средств. Роль интерактивных технологий в обучении школьников. Эффективное управление познавательной деятельностью учащихся первой ступени обучения с помощью интерактивной доски Smart.
курсовая работа [856,7 K], добавлен 10.02.2012Оценка современного состояния Интернета как источника информационного обеспечения научных исследований, методы улучшения поиска необходимых файлов. Развитие семантической паутины как способ повысить роль Интернета в качестве источника для исследований.
курсовая работа [174,9 K], добавлен 29.08.2015Дистанционное обучение как форма организации учебного процесса. Средства и методы дистанционного обучения. Создание и использование дистанционных учебных курсов. Урок теоретического обучения. Компьютерные презентации, лабораторно-практические занятия.
курсовая работа [1,4 M], добавлен 27.02.2010Простейшие электрические цепи первого порядка. Характеристика электрических цепей второго порядка, их параметры. Элементы нелинейных цепей. Основные этапы моделирования схем с помощью программы схемотехнического проектирования и моделирования Micro-Cap.
контрольная работа [196,6 K], добавлен 17.03.2011Методы поиска подмножеств множества вершин V графа G, удовлетворяющих определенным условиям и свойствам. Понятие независимых множеств и порядок их генерации. Определение доминирующего множества. Основные этапы решения задачи о наименьшем разбиении.
контрольная работа [32,1 K], добавлен 11.03.2010Понятие и виды электронных ресурсов муниципальных библиотек. Организация и использование электронных ресурсов в муниципальных библиотеках РФ. Анализ современного состояния и основные тенденции развития электронных ресурсов муниципальных библиотек.
курсовая работа [77,9 K], добавлен 16.05.2017Проектирование и создание информационной базы данных для управления предприятием "Завод металлоизделий". Данные для базы, предметная область, атрибуты объектов базы данных. Объектные отношения, их ключи, связи объектов и отношений базы данных предприятия.
реферат [26,9 K], добавлен 04.12.2009Характеристика программы для реализации проектов, созданных в формате трехмерного моделирования. Классификация кривых 2-го порядка. Построение окружности, эллипса, гиперболы и параболы в системе координат с помощью программного обеспечения 3D MAX.
контрольная работа [667,7 K], добавлен 18.01.2014Основные отличия нейросетей от других методов. Неформализуемые и трудно формализуемые задачи. Моделирование интеллектуальной деятельности человека. Оценка стоимости квартир в Перми с использованием нейронных сетей. Проектирование и обучение нейросети.
презентация [139,4 K], добавлен 14.08.2013Изучение теоретических положений, раскрывающие структуру линейных и нелинейных стационарных и динамических объектов, математическое описание и решение задачи анализа объектов. Использование для решения функции системы математических расчетов MathCAD.
контрольная работа [317,7 K], добавлен 16.01.2009