does he verbalize why? i.e. says he is scared? or make up excuses?
you may have to be tough and endure some screaming and crying for a few nights but you can get him trained to sleep in his own bed again. I have run into this with 2 or 3 of my kids at different stages in their lives so far.
First of all... start a routine. The same thing every night in the same order. An example would be a warm bath with lavender scented baby bath, followed by lavender lotion, warm his pajamas and blanket in the dryer, give him a bedtime snack.. warm milk and some oatmeal, read him a calm story, rub some calming aromatherapy oil on his feet then put some socks on his feet (my son loves this!), you may choose to have some "white noise" in his room - a fan or humidifier, an electric waterfall (to simulate the sound of running water) - then tuck him into bed. If he cries.. calmly put him back in bed and let him cry for 5 minutes. You may have to go put earphones on and listen to music or something to drown out his cries. Go back in after 5 minutes and calmly put him back in bed and tell him gently that he must stay there. Set the timer for 10 minutes this time. Then go back in and do the same thing.... set the timer for 15 minutes. The next 20. AFter the 20 if he is STILL crying... change his diaper, read him a story, get him a drink of water, then put him back to bed and do it all over again. The idea is he will wear himself out crying.. but learn that you will come back after a time and fall asleep waiting... or crying. It will not hurt him to cry a bit. You may have to do this for 3 or 4 nights, but you will have to set the timer less and he will eventually get it. It will be tough.. and get old.. but if you stick to it.. he will eventually learn that is where he needs to sleep.
You may also consider getting him some new sheets in a color or character theme he really liikes.so he can take new "ownership" of his bed. New pajamas or a cuddly toy that he can sleep with. If he seems to comprehend it well enough.. give him a sticker to put on the calendar each morning he has slept in his own bed all night... and after a few days give him a small reward... an ice cream cone... or a new small inexpensive toy.. then have him fill a weeks worth of days with stickers for another reward. Eventually it will become habit.
again.. it will be tough. and you may lose some sleep.. because if he wakes up in the middle of the night wanting to get in bed with you again.. you'll have to do the routine again.. but after a few nights it will be worth it because you'll be doing it less and less and for shorter periods of time. you won't have to get to the 20 minute mark.
best wishes!