본문 바로가기
반응형

연구실24

[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.
[AI 6주차] Optimization Algorithm Mini-batch gradient descent인공지능에서 Optimization Algorithm은 neural network 를 더 빠르게 학습시키기 위한 방식이다. 이전 내용에서 m examples training 에서 vectorization은 더 효율적으로 빠르게 계산하도록 도와준다는 사실을 배웠었다.X = [X^(1), X^(2), ... , X^(m)] # (n_x, m)Y = [y^(1), y^(2), ... , y^(m)] # (1, m) 그렇다면, m 이 아주 큰 값, 예를 들어  5,000,000 or 50,000,000 그 이상이라면 어떻게 될까?  아주 많은 양의 training data set 를 전부 처리하고 나서야 겨우  한 단계의 gradient descent 를 할 .. 2024. 7. 15.
[Fuzzing] Lecture 2. Lexical Fuzzing(Breaking Things with Random Inputs) Fuzzing : Breaking Things with Random InputsFuzzing이라고 알려져 있는 random text generation의 핵심 아이디어는 Failure를 드러내기 위해 program에 random 문자열을 넣는 것이다. FuzzersFuzzer는 Fuzzers에 대한 base class이다. Fuzzer가 가지고 있는 RandomFuzzer 는 단순 인스턴스화이다.Fuzzer의 fuzz()는 생성된 input 의 문자열을 return 해주는 메소드이다.class RandomFuzzer(Fuzzer): """Produce random inputs.""" def __init__(self, min_length: int = 10, max_length: int = 100.. 2024. 7. 12.
[Fuzzing] Lecture 1. Whetting your appetite (Exercise) Exercise 1 . Testing Shellsortdef shellsort(elems): sorted_elems = elems.copy() gaps = [701, 301, 132, 57, 23, 10, 4, 1] for gap in gaps: for i in range(gap, len(sorted_elems)): temp = sorted_elems[i] j = i while j >= gap and sorted_elems[j-gap] > temp: sorted_elems[j] = sorted_elems[j-gap] j -= gap sorted_elems[j] = temp return sorted_elems 우선, 예제 .. 2024. 7. 8.
반응형