Welcome to our introductionary about malware detection with Convolutional Neural Networks. We will focus on building a binary classification model with the help of convolutional neural networks. This algorithm is quite popular within computer vision related algorithms and widely also used to build image classification models. By the end of this section you will be able to build a malware classifier based on image classification approach.
DATASET:
drive.google.com/file/d/1_KgS...
Github:
github.com/databowlr/malware_cnn
before running code, fix issues:
github.com/databowlr/malware_...
CONTENT OF THIS VIDEO
00:00 Intro
02:38 Tensor, Scalar, Vector key arguments in Pytorch
05:53 Main mathematical operations in Pytorch
07:53 Neural Network Layers
09:38 Neural Network Activation Functions
12:40 Pytorch methods for Neural Networks
17:25 Malware Detection with CNN
19:50 Advantages of CNN
22:00 Input CNN
22:40 Convolution Operation
24:10 Activation Feature Map
24:30 Pooling
25:30 Inputs and Outputs for CNN
26:45 Backpropagation
28:50 Loss Function
29:55 Entropy and Cross-Entropy
33:00 Building CNN model
42:08 Hyperparameters in Tensorboard
A Convolutional Neural Network is using same weights in multiple convolution layers which can be understood as parameter sharing. From input units to output units a filter is transforming meaningful features, fewer parameters and memory is required. A typical Convolution Neural Network consists of three main components, convolution layers, pooling layers and fully connected layers. The convolutional layer extracts different features from each part of an input image.
Edge detection and sharpening are basic feature extraction operations by a filter. The Pooling Layer collects only data that has been aggregated using a specific aggregation function. The most popular pooling process is max pooling, which reports the maximum output from the neighborhood. A fully connected layer takes the output of the convolutional layers and combine it through learning of non-linear combinations of features. The final layer is in charge of calculating the probability of belonging to a given class.
Pytorch models are based on modules and module is base class that all other modules inherit from. Interface of convolution layers and dense layers in a neural network is flatten, output of conv2d layer is image and input for dense layer is a vector.
A simple model is build with the sequential module, a linear layer, ReLU, another linear layer and relu and finally linear layer with Log Soft max activation function. Tensorboard allows us to have an excellent visual view under graphs on the model architecture in terms of layers and input output relations. We define the necessary arguments to display the graph of our Convolutional neural network in Tensorboard. First we need to define a function for hyperparameter tuning of our model, which will be used on the available training dataset. This for loop takes as previously outlined different parameter values for batch size, drop out as well as leaning rate and shuffling training dataset into consideration.
Tensorboard gives us the opportunity to download these Hyper Parameter combinations in different formats. We can focus on relevant parameters having an impact on high accuracy and low loss. Finally, we print for every single epoch the current state of the defined parameters like learning rate, dropout and batch size. And also loss and accuracy will be printed out for every epoch.
Finally, we can determine suitable hyperparameters to build our malware classifier with accuracy above 97%.
About Data Bowl Recipes:
Recipes about Data Science and Data Engineering.
Don't forget to subscribe to the channel and hit the like button
Thanks for watching!
#pytorch #malware #tensorboard
#convolutionalneuralnetwork #machinelearning
#imageclassification2022 #malwaredetection
#cybersecurity #deeplearning
Related Phrases:
Convolutional Neural Network, Pytorch, Machine Learning, Malware Detection, Cybersecurity 2022, Machine Learning, Malware Detection Techniques, Deep Learning, Malware Analysis
Disclaimer: We do not accept any liability for any loss or damage which is incurred from you acting or not acting as a result of watching any of our publications. You acknowledge that you use the information we provide at your own risk. Do your own research.
Copyright Notice: This video and our RU-vid channel contains dialog, music and images that are property of Data Bowl Recipes. You are authorized to share the video link and channel, embed this video in your website or others.
© Data Bowl Recipes
11 июл 2024