본문 바로가기
반응형

하얀해킹88

[AI 8주차] Convolution Neural Network (CNN) 기초 사진이 input으로 주어지면, 우선 edge를 먼저 탐지한다고 했었다.  그렇다면, 어떻게 edge를 탐지할 수 있을까? Edge Detection 우선 사진이 주어지면, vertical edge detector 를 통해 vertical edges 를 탐지한다. 그리고, horizontal edges detector 를 통해 horizontal edges 를 탐지한다.  그렇다면, 어떻게 vertical edge 를 detect 할 수 있을까? 아래와 같이 6x6 의 grey scale image 가 있다고 해보자. (참고로, rgb channel 일 때는 6x6x3 이다.)3x3 filter (kernel) 와의 convolution 를 통해 vertical edge를 detect할 수 있다. 4x4.. 2024. 8. 5.
[Fuzzing] Lecture 2. Lexical Fuzzing : Mutation-Based Fuzzing Mutation-Based Fuzzing:  대부분의 무작위로 생성된 입력은 구문적으로 잘못되어 처리 프로그램에서 빠르게 거부된다. 입력 처리 외의 기능을 테스트하려면 유효한 입력을 얻을 가능성을 높여야 한다. 이를 위해 기존 입력에 작은 변화를 주어 유효성을 유지하면서도 새로운 동작을 유도하는 변이 퍼징(mutational fuzzing)이 있다. 이번에는 변이 생성 방법과 이를 이용해 미처 test 되지 않은 code 를 탐색하는 방법을 다룬다. 이는 유명한 AFL 퍼저(AFL fuzzer)의 핵심 개념을 적용한 것이다.   MutationFuzzer class : 기존의 유효한 입력을 변이시켜 새로운 입력을 생성하는 클래스이다.def mutate(s: str) -> str: """Return .. 2024. 8. 4.
[Fuzzing] Lecture 2. Lexical Fuzzing - Code Coverage 이전 내용에서는 program을 test하기 위해 random한 input 을 generate 하는 기본 fuzzing 에 대해서 알아봤었다.  그렇다면 이러한 test 의 효과(fuzzing의 performance)를 어떻게 측정할 수 있을까? 하나의 방법은 발견된 bug 의 수와 심각도를 확인하는 것이다. 하지만, bug가 거의 없는 경우, test가 bug를 발견할 가능성을 추정할 수 있는 대리 척도가 필요하다.  Code Coverage: test 실행 중에 program의 어느 부분이 실제로 실행되었는지를 측정하는 것이다. fuzzingbook 에서 제공하는 모듈인 Coverage 클래를 통해 python program의 coverage를 측정할 수 있다.#pip install fuzzingbo.. 2024. 8. 2.
[AI 7주차] Hyperparameter Tuning, Batch Normarlization, and Programming Frameworks Hyperparameter Tuninghyperparameter 를 어떻게 잘 설정할 수 있는지에 대해서 알아보자. hyperparameter 를 잘 설정하기 위해서 어떻게 해야 잘 탐색할 수 있을까?  Don't use a gridmachine learning algorithm 초기 세대에는 grid로 point 들을 sampling 했다. 아래와 같이 hyperparameter가 2개가 있고, hyperparameter 1을 learning rate, hyperparameter 2를 epsilon 이라고 하자. 25개의 point 들이 있다. 근데, 여기서 epsilon은 값을 바꿔도 크게 달라지지 않아서 크게 중요하지 않지만, learning rate는 아주 중요하다. 값에 따라 결과가 많이 달라진.. 2024. 7. 26.
반응형