Skip to content

SlyPex/Reinforcment_Learning_Network_Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autonomous Network Defender Agent using Reinforcement Learning

GitHub commit activity Contributers GitHub License

This is a Mini-Project for our RL course at the University, the objective is to get familiar with RL core concepts.

Ain't much. but it's honest work.

Description

Environment

According to the specifications of the Mini-Project, the Environment should be defined from scratch, since gymnasium has an implementation of Environment class which can be suitable as a super class for the defined environment in this Mini-Project

Observation Space

In the context of this project the dataset NSL-KDD is considered to be the base Environment, each row from the dataset is considered as a state.

Action Space

Dataset has a target class which classes each sample into Normal or Anomaly, Relying on this the Action Space is defined as follows:

  • Allow which corresponds to Normal
  • Deny which corresponds to Anomaly

Reward Function

Simply, if the agent allows/denies a normal/anomaly traffic respectively it get rewarded +1 otherwise it gets 0.

Usage

First clone this project either by:

  • Git command:
git clone https://github.com/SlyPex/Reinforcment_Learning_Network_Agent.git
  • Github CLI:
gh repo clone SlyPex/Reinforcment_Learning_Network_Agent

Next cd into the project directory and install the required libraries using :

pip install -r requierments.txt

Then open up the Jupyter Notebook agent_training.ipynb file and run all the cells to train the agent.

About

Autonomous Network Defender Agent

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published