relu 함수와 선형 함수

skycloud의 이미지

보통 딥러닝에서 은닉층에서 사용하기 위한 함수로 비선형 함수를 사용하잖아요?(선형이면 은닉층이 여러개인 의미가 없어지니까요)
그런데 relu함수의 경우도 0이상이면 그대로 나오기 때문에 반은 선형인데 왜 실제로 좋은 결과를 나타낸다는 것인가요?
0보다 작으면 0으로 바꾸는 매커니즘 때문이 그런건가요?